1
0
mirror of https://github.com/moparisthebest/Simba synced 2025-01-31 07:10:28 -05:00

IOManager branch compiles --- key/mouse methods need os implementation still

git-svn-id: http://www.villavu.com/repositories/merlijn/mufasa@437 3f818213-9676-44b0-a9b4-5e4c4e03d09d
This commit is contained in:
BenLand100 2010-01-20 21:20:58 +00:00
parent 9cd2a2d876
commit 0a41342cec
3 changed files with 142 additions and 121 deletions

View File

@ -10,7 +10,7 @@
<TargetFileExt Value=""/>
<Title Value="Simba"/>
<UseXPManifest Value="True"/>
<ActiveEditorIndexAtStart Value="1"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
@ -138,8 +138,8 @@
<ResourceBaseClass Value="Form"/>
<UnitName Value="TestUnit"/>
<ComponentState Value="1"/>
<CursorPos X="64" Y="1539"/>
<TopLine Value="1532"/>
<CursorPos X="1" Y="1673"/>
<TopLine Value="1656"/>
<EditorIndex Value="0"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
@ -215,7 +215,7 @@
<IsPartOfProject Value="True"/>
<UnitName Value="Window"/>
<CursorPos X="31" Y="59"/>
<TopLine Value="42"/>
<TopLine Value="174"/>
<EditorIndex Value="8"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
@ -249,7 +249,7 @@
<UnitName Value="finder"/>
<CursorPos X="10" Y="2000"/>
<TopLine Value="1972"/>
<EditorIndex Value="15"/>
<EditorIndex Value="14"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
</Unit27>
@ -353,7 +353,7 @@
<UnitName Value="bitmaps"/>
<CursorPos X="22" Y="681"/>
<TopLine Value="671"/>
<EditorIndex Value="14"/>
<EditorIndex Value="13"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit42>
@ -368,7 +368,7 @@
<Filename Value="../../Units/MMLAddon/PSInc/Wrappers/colour.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="13"/>
<EditorIndex Value="12"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit44>
@ -490,7 +490,7 @@
<UnitName Value="colour_conv"/>
<CursorPos X="1" Y="332"/>
<TopLine Value="290"/>
<EditorIndex Value="16"/>
<EditorIndex Value="15"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
</Unit62>
@ -504,7 +504,7 @@
<Filename Value="../../Units/MMLAddon/PSInc/Wrappers/other.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="11"/>
<EditorIndex Value="10"/>
<UsageCount Value="45"/>
<Loaded Value="True"/>
</Unit64>
@ -1600,7 +1600,7 @@
<UnitName Value="framefunctionlist"/>
<CursorPos X="26" Y="295"/>
<TopLine Value="7"/>
<UsageCount Value="147"/>
<UsageCount Value="148"/>
</Unit223>
<Unit224>
<Filename Value="../../../usr/local/share/lazarus/lcl/comctrls.pp"/>
@ -1655,7 +1655,7 @@
<UnitName Value="simpleanalyzer"/>
<CursorPos X="52" Y="104"/>
<TopLine Value="193"/>
<UsageCount Value="134"/>
<UsageCount Value="135"/>
</Unit231>
<Unit232>
<Filename Value="../../Units/Misc/mPasLex.pas"/>
@ -1715,7 +1715,7 @@
<Filename Value="../../Units/MMLAddon/PSInc/psexportedmethods.inc"/>
<CursorPos X="30" Y="109"/>
<TopLine Value="98"/>
<EditorIndex Value="12"/>
<EditorIndex Value="11"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
</Unit240>
@ -1732,7 +1732,7 @@
<UnitName Value="updater"/>
<CursorPos X="38" Y="211"/>
<TopLine Value="65"/>
<UsageCount Value="107"/>
<UsageCount Value="108"/>
</Unit242>
<Unit243>
<Filename Value="updateform.pas"/>
@ -1742,8 +1742,8 @@
<UnitName Value="updateform"/>
<CursorPos X="111" Y="102"/>
<TopLine Value="81"/>
<EditorIndex Value="10"/>
<UsageCount Value="102"/>
<EditorIndex Value="9"/>
<UsageCount Value="103"/>
<Loaded Value="True"/>
</Unit243>
<Unit244>
@ -1865,7 +1865,7 @@
<UnitName Value="simbasettings"/>
<CursorPos X="26" Y="9"/>
<TopLine Value="11"/>
<UsageCount Value="65"/>
<UsageCount Value="66"/>
</Unit261>
<Unit262>
<Filename Value="../../Units/MMLAddon/settings.pas"/>
@ -1910,7 +1910,7 @@
<UnitName Value="reportbug"/>
<CursorPos X="53" Y="23"/>
<TopLine Value="21"/>
<UsageCount Value="48"/>
<UsageCount Value="49"/>
</Unit267>
<Unit268>
<Filename Value="../../Units/Synapse/synsock.pas"/>
@ -1967,7 +1967,7 @@
<UnitName Value="newinternets"/>
<CursorPos X="80" Y="2"/>
<TopLine Value="1"/>
<UsageCount Value="44"/>
<UsageCount Value="45"/>
</Unit275>
<Unit276>
<Filename Value="reportbug.lrs"/>
@ -2013,8 +2013,8 @@
<Unit282>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<UnitName Value="IOManager"/>
<CursorPos X="84" Y="329"/>
<TopLine Value="318"/>
<CursorPos X="1" Y="229"/>
<TopLine Value="212"/>
<EditorIndex Value="5"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
@ -2022,8 +2022,8 @@
<Unit283>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<UnitName Value="os_linux"/>
<CursorPos X="1" Y="141"/>
<TopLine Value="124"/>
<CursorPos X="40" Y="41"/>
<TopLine Value="12"/>
<EditorIndex Value="7"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
@ -2033,132 +2033,126 @@
<UnitName Value="Mouse"/>
<CursorPos X="21" Y="30"/>
<TopLine Value="12"/>
<EditorIndex Value="9"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit284>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<JumpHistory Count="29" HistoryIndex="28">
<Position1>
<Filename Value="testunit.pas"/>
<Caret Line="1275" Column="21" TopLine="1258"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="155" Column="48" TopLine="139"/>
</Position1>
<Position2>
<Filename Value="testunit.pas"/>
<Caret Line="579" Column="45" TopLine="573"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="175" Column="5" TopLine="141"/>
</Position2>
<Position3>
<Filename Value="testunit.pas"/>
<Caret Line="1277" Column="11" TopLine="1259"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="151" Column="34" TopLine="130"/>
</Position3>
<Position4>
<Filename Value="testunit.pas"/>
<Caret Line="290" Column="11" TopLine="273"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="201" Column="24" TopLine="185"/>
</Position4>
<Position5>
<Filename Value="testunit.pas"/>
<Caret Line="579" Column="62" TopLine="562"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="271" Column="33" TopLine="254"/>
</Position5>
<Position6>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="228" Column="22" TopLine="1"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="184" Column="39" TopLine="167"/>
</Position6>
<Position7>
<Filename Value="../../Units/MMLAddon/windowselector.pas"/>
<Caret Line="139" Column="54" TopLine="116"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="288" Column="23" TopLine="271"/>
</Position7>
<Position8>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="32" Column="13" TopLine="23"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="291" Column="18" TopLine="274"/>
</Position8>
<Position9>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="49" Column="46" TopLine="32"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="298" Column="120" TopLine="281"/>
</Position9>
<Position10>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="59" Column="26" TopLine="42"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="302" Column="32" TopLine="285"/>
</Position10>
<Position11>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="49" Column="38" TopLine="32"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="173" Column="31" TopLine="156"/>
</Position11>
<Position12>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="59" Column="26" TopLine="42"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="308" Column="43" TopLine="291"/>
</Position12>
<Position13>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="83" Column="1" TopLine="66"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="384" Column="32" TopLine="367"/>
</Position13>
<Position14>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="85" Column="44" TopLine="68"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="413" Column="39" TopLine="397"/>
</Position14>
<Position15>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="109" Column="24" TopLine="92"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="449" Column="32" TopLine="418"/>
</Position15>
<Position16>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="283" Column="15" TopLine="129"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="109" Column="79" TopLine="93"/>
</Position16>
<Position17>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="115" Column="18" TopLine="97"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="236" Column="17" TopLine="220"/>
</Position17>
<Position18>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="118" Column="35" TopLine="101"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="327" Column="105" TopLine="311"/>
</Position18>
<Position19>
<Filename Value="../../Units/MMLAddon/windowselector.pas"/>
<Caret Line="32" Column="39" TopLine="23"/>
<Filename Value="../../Units/MMLCore/window.pas"/>
<Caret Line="163" Column="1" TopLine="145"/>
</Position19>
<Position20>
<Filename Value="../../Units/MMLAddon/windowselector.pas"/>
<Caret Line="196" Column="25" TopLine="86"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="322" Column="32" TopLine="309"/>
</Position20>
<Position21>
<Filename Value="../../Units/MMLAddon/windowselector.pas"/>
<Caret Line="143" Column="25" TopLine="115"/>
<Caret Line="99" Column="39" TopLine="82"/>
</Position21>
<Position22>
<Filename Value="testunit.pas"/>
<Caret Line="37" Column="60" TopLine="16"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="40" Column="49" TopLine="12"/>
</Position22>
<Position23>
<Filename Value="testunit.pas"/>
<Caret Line="576" Column="53" TopLine="562"/>
<Filename Value="../../Units/MMLAddon/windowselector.pas"/>
<Caret Line="51" Column="26" TopLine="33"/>
</Position23>
<Position24>
<Filename Value="testunit.pas"/>
<Caret Line="1273" Column="85" TopLine="1256"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="47" Column="30" TopLine="23"/>
</Position24>
<Position25>
<Filename Value="testunit.pas"/>
<Caret Line="309" Column="12" TopLine="298"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="32" Column="15" TopLine="23"/>
</Position25>
<Position26>
<Filename Value="testunit.pas"/>
<Caret Line="1275" Column="46" TopLine="1257"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="167" Column="21" TopLine="150"/>
</Position26>
<Position27>
<Filename Value="testunit.pas"/>
<Caret Line="1548" Column="9" TopLine="1531"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="154" Column="25" TopLine="144"/>
</Position27>
<Position28>
<Filename Value="testunit.pas"/>
<Caret Line="1304" Column="10" TopLine="1287"/>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="41" Column="40" TopLine="12"/>
</Position28>
<Position29>
<Filename Value="testunit.pas"/>
<Caret Line="1548" Column="10" TopLine="1531"/>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="229" Column="1" TopLine="212"/>
</Position29>
<Position30>
<Filename Value="../../Units/MMLAddon/colourpicker.pas"/>
<Caret Line="229" Column="22" TopLine="206"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>

View File

@ -3,7 +3,7 @@ unit IOManager;
interface
uses
Classes, SysUtils, mufasatypes;
Classes, SysUtils, mufasatypes, graphics, LCLType, bitmaps, LCLIntf;
type
@ -40,7 +40,7 @@ interface
TRawTarget = class(TTarget)
public
constructor Create(rgb: prgb32; w,h: integer);
destructor Destory; override;
destructor Destroy; override;
procedure GetTargetDimensions(var w, h: integer); override;
function ReturnData(xs, ys, width, height: Integer): TRetData; override;
@ -65,7 +65,7 @@ interface
procedure SendString(str: PChar); override; abstract;
procedure HoldKey(key: integer); override; abstract;
procedure ReleaseKey(key: integer); override; abstract;
function IsKeyHeld(key: integer): boolean; override; abstract;\
function IsKeyHeld(key: integer): boolean; override; abstract;
end;
{ Contains the pointers to a non-internal target implementation using the EIOS specification.
@ -104,10 +104,9 @@ interface
TEIOS_Target = class(TTarget)
public
constructor Create(client: TEIOS_Client; initval: pointer);
destructor Destory; override;
destructor Destroy; override;
procedure GetTargetDimensions(var w, h: integer); override;
function GetColor(x,y : integer) : TColor; override;
function ReturnData(xs, ys, width, height: Integer): TRetData; override;
procedure GetMousePosition(var x,y: integer); override;
@ -152,8 +151,8 @@ interface
function GetClient(name: string): TEIOS_Client;
private
function FindClient(name:string): integer;
plugs: array of TEIOS_LoadedPlugin;
function FindClient(name:string): integer;
end;
{ This class specifies the object that will go in the ThreadVar to give the script access
@ -170,7 +169,7 @@ interface
procedure SetDesktop; virtual; abstract;
function SetTarget(ArrPtr: PRGB32; Size: TPoint): integer; overload;
function SetTarget(Bitmap : TMufasaBitmap) : integer; overload;
function SetTarget(bmp : TMufasaBitmap) : integer; overload;
function SetTarget(name: string; initargs: pointer): integer; overload;
function TargetValid: Boolean;
@ -179,9 +178,10 @@ interface
procedure FreeReturnData;
procedure GetDimensions(var W, H: Integer);
procedure ActivateClient;
property Frozen: boolean read IsFrozen;
procedure SetFrozen(frozen: boolean);
function IsFrozen: boolean;
procedure SetFrozen(makefrozen: boolean);
procedure GetMousePos(var X, Y: Integer);
procedure SetMousePos(X, Y: Integer);
@ -198,7 +198,7 @@ interface
protected
controller: TEIOS_Controller;
keymouse: TTarget;
image: TTarget
image: TTarget;
frozen: TTarget;
freezebuffer: prgb32;
bothsame: boolean;
@ -233,8 +233,8 @@ implementation
begin
if bothsame then keymouse.Destroy() else
begin
keymouse.Destroy();
image.Destroy();
keymouse.Free();
image.Free();
end;
if frozen <> nil then frozen.Destroy();
if controller <> nil then controller.Destroy();
@ -244,13 +244,13 @@ implementation
begin
if frozen <> nil then
raise Exception.Create('You cannot set a target when Frozen');
if not(bothsame) then image.Destroy();
if not(bothsame) then image.Free();
image:= target;
bothsame:= false;
end;
procedure TIOManager_Abstract.SetKeyMouseTarget(target: TTarget);
begin
if not(bothsame) then keymouse.Destroy();
if not(bothsame) then keymouse.Free();
keymouse:= target;
bothsame:= false;
end;
@ -260,8 +260,8 @@ implementation
raise Exception.Create('You cannot set a target when Frozen');
if bothsame then image.Destroy() else
begin
image.Destroy();
keymouse.Destroy();
image.Free();
keymouse.Free();
end;
image:= target;
keymouse:= target;
@ -285,17 +285,22 @@ implementation
end else if frozen = nil then
begin
frozen:= image;
frozen.GetDimensions(w,h);
frozen.GetTargetDimensions(w,h);
buffer:= frozen.ReturnData(0,0,w,h);
GetMem(freezebuffer, w * h * sizeof(TRGB32));
Move(PtrReturn.Ptr[0], freezebuffer[0], w*h*sizeof(TRGB32));
Move(buffer.Ptr[0], freezebuffer[0], w*h*sizeof(TRGB32));
frozen.FreeReturnData;
image:= TRawTarget.Create(freezebuffer,w,h);
end;
end;
function TIOManager_Abstract.IsFrozen: boolean;
begin
result:= frozen <> nil;
end;
function TIOManager_Abstract.GetColor(x,y : integer) : TColor; begin result:= image.GetColor(x,y); end;
function TIOManager_Abstract.ReturnData(xs,yx,width,height: integer): TRetData; begin result:= image.ReturnData(xs,yx,width,height); end;
function TIOManager_Abstract.ReturnData(xs,ys,width,height: integer): TRetData; begin result:= image.ReturnData(xs,ys,width,height); end;
procedure TIOManager_Abstract.FreeReturnData; begin image.freeReturnData(); end;
function TIOManager_Abstract.SetTarget(ArrPtr: PRGB32; Size: TPoint): integer; begin SetImageTarget(TRawTarget.Create(ArrPtr,Size.X,Size.Y)); end;
@ -304,8 +309,8 @@ implementation
var
client: TEIOS_Client;
begin
if not controller.ClientExists(name) then raise Exception.Create('EIOS Client by specified name does not exist');
client:= controller.GetClient(name);
if client = nil then raise Exception.Create('EIOS Client by specified name does not exist');
SetBothTargets(TEIOS_Target.Create(client, initargs));
end;
@ -314,6 +319,21 @@ implementation
result:= (keymouse <> nil) and (image <> nil);
end;
procedure TIOManager_Abstract.GetDimensions(var W, H: Integer); begin image.GetTargetDimensions(w,h) end;
procedure TIOManager_Abstract.ActivateClient; begin {lolwat} end;
procedure TIOManager_Abstract.GetMousePos(var X, Y: Integer); begin keymouse.GetMousePosition(x,y) end;
procedure TIOManager_Abstract.SetMousePos(X, Y: Integer); begin keymouse.MoveMouse(x,y); end;
procedure TIOManager_Abstract.MouseButtonAction(x,y : integer; mClick: TClickType; mPress: TMousePress); begin {lolwat} end;
procedure TIOManager_Abstract.MouseButtonActionSilent(x,y : integer; mClick: TClickType; mPress: TMousePress); begin {lolwat} end;
procedure TIOManager_Abstract.ClickMouse(X, Y: Integer; mClick: TClickType); begin {lolwat} end;
procedure TIOManager_Abstract.KeyUp(key: Word); begin keymouse.ReleaseKey(key) end;
procedure TIOManager_Abstract.KeyDown(key: Word); begin keymouse.HoldKey(key) end;
procedure TIOManager_Abstract.PressKey(key: Word); begin {lolwat} end;
procedure TIOManager_Abstract.SendText(text: string); begin keymouse.SendString(PChar(@text[1])); end;
function TIOManager_Abstract.isKeyDown(key: Word): Boolean; begin result:= keymouse.IsKeyHeld(key); end;
//***implementation*** TTarget
procedure TTarget.GetTargetDimensions(var w, h: integer); begin raise Exception.Create('GetTargetDimensions not avaliable for this target'); end;
@ -381,7 +401,7 @@ implementation
self.h:= h;
end;
destructor TRawTarget.Destory;
destructor TRawTarget.Destroy;
begin
{do nothing}
inherited Destroy;
@ -410,7 +430,7 @@ implementation
//Load plugins from plugins folder
end;
destructor TEIOS_Controller.Destroy
destructor TEIOS_Controller.Destroy;
var
i: integer;
begin
@ -447,8 +467,6 @@ implementation
i:= FindClient(name);
if i >= 0 then
result:= plugs[i].client
else
result:= nil;
end;
end.

View File

@ -7,6 +7,8 @@ interface
type
TNativeWindow = x.TWindow;
TWindow = class(TWindow_Abstract)
public
constructor Create(display: PDisplay; screennum: integer; window: x.TWindow);
@ -35,12 +37,12 @@ interface
TIOManager = class(TIOManager_Abstract)
public
constructor Create(plugin_dir: string);
destructor Destroy; override;
function SetTarget(target: x.TWindow): integer; overload;
procedure SetDesktop;
function SetTarget(target: TNativeWindow): integer; overload;
procedure SetDesktop; override;
private
procedure NativeInit; override;
procedure NativeFree; override;
public
display: PDisplay;
screennum: integer;
desktop: x.TWindow;
@ -49,6 +51,8 @@ interface
implementation
uses windowutil, GraphType;
//***implementation*** TWindow
constructor TWindow.Create(display: PDisplay; screennum: integer; window: x.TWindow);
@ -77,7 +81,7 @@ implementation
if XGetWindowAttributes(display, window, @Attrib) <> 0 Then
begin
{ I don't think we need this XTranslateCoordinates... :D }
XTranslateCoordinates(display, seld.window, RootWindow(display, screennum), 0,0, @newx, @newy, @childwindow);
XTranslateCoordinates(display, window, RootWindow(display, screennum), 0,0, @newx, @newy, @childwindow);
W := Attrib.Width;
H := Attrib.Height;
end else
@ -92,8 +96,9 @@ implementation
function TWindow.ReturnData(xs, ys, width, height: Integer): TRetData;
var
Old_Handler: TXErrorHandler;
w,h: integer;
begin
GetDimensions(w,h);
GetTargetDimensions(w,h);
if (xs < 0) or (xs + width > w) or (ys < 0) or (ys + height > h) then
raise Exception.CreateFMT('TMWindow.ReturnData: The parameters passed are wrong; xs,ys %d,%d width,height %d,%d',[xs,ys,width,height]);
if dirty then
@ -143,6 +148,11 @@ implementation
//***implementation*** IOManager
constructor TIOManager.Create(plugin_dir: string);
begin
inherited Create(plugin_dir);
end;
procedure TIOManager.NativeInit;
begin
display := XOpenDisplay(nil);
@ -150,7 +160,6 @@ implementation
begin
// throw Exception
end;
screen := XDefaultScreenOfDisplay(display);
screennum:= DefaultScreen(display);
desktop:= RootWindow(display,screennum)
end;
@ -170,4 +179,4 @@ implementation
SetBothTargets(TWindow.Create(display, screennum, target))
end;
end.