mirror of
https://github.com/moparisthebest/Simba
synced 2024-11-21 08:45:06 -05:00
Mouse should be done now. :)
git-svn-id: http://www.villavu.com/repositories/merlijn/mufasa@8 3f818213-9676-44b0-a9b4-5e4c4e03d09d
This commit is contained in:
parent
216e8b9639
commit
4cc31f4693
@ -18,6 +18,9 @@ type
|
||||
|
||||
procedure GetMousePos(var X, Y: Integer);
|
||||
procedure SetMousePos(X, Y: Integer);
|
||||
procedure MouseButtonAction(X, Y: Integer; mClick: TClickType; mPress: TMousePress);
|
||||
procedure ClickMouse(X, Y: Integer; mClick: TClickType);
|
||||
function IsMouseButtonDown(mType: TClickType): Boolean;
|
||||
|
||||
public
|
||||
Client: TObject;
|
||||
@ -71,5 +74,81 @@ begin
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TMInput.MouseButtonAction(X, Y: Integer; mClick: TClickType; mPress: TMousePress);
|
||||
{$IFDEF LINUX}
|
||||
var
|
||||
event : TXEvent;
|
||||
Garbage : QWord;
|
||||
Old_Handler: TXErrorHandler;
|
||||
{$ENDIF}
|
||||
|
||||
begin
|
||||
Self.SetMousePos(X, Y);
|
||||
{$IFDEF LINUX}
|
||||
Old_Handler := XSetErrorHandler(@MufasaXErrorHandler);
|
||||
|
||||
FillChar(event,sizeof(TXevent),0);
|
||||
|
||||
if mPress = mouse_Down then
|
||||
Event._type:= ButtonPress
|
||||
else
|
||||
Event._type:= ButtonRelease;
|
||||
|
||||
case mClick of
|
||||
mouse_Left: Event.xbutton.button:= Button1;
|
||||
mouse_Middle: Event.xbutton.button:= Button2;
|
||||
mouse_Right: Event.xbutton.button:= Button3;
|
||||
end;
|
||||
|
||||
event.xbutton.send_event := 1;
|
||||
event.xbutton.same_screen:= 1;
|
||||
event.xbutton.subwindow:= 0;
|
||||
event.xbutton.root := TClient(Client).MWindow.DesktopWindow;
|
||||
event.xbutton.window := TClient(Client).MWindow.CurWindow;
|
||||
event.xbutton.x_root:= x;
|
||||
event.xbutton.y_root:= y;
|
||||
event.xbutton.x := x;
|
||||
event.xbutton.y := y;
|
||||
event.xbutton.state:= 0;
|
||||
if(XSendEvent(TClient(Client).MWindow.XDisplay, PointerWindow, True, $fff, @event) = 0) then
|
||||
Writeln('Errorrrr :-(');
|
||||
XFlush(TClient(Client).MWindow.XDisplay);
|
||||
|
||||
XSetErrorHandler(Old_Handler);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
// ff omzetten naar MouseButtonDown(), en dan Click gewoon down en dan up.
|
||||
// holdmouse releasemouse
|
||||
procedure TMInput.ClickMouse(X, Y: Integer; mClick: TClickType);
|
||||
|
||||
begin
|
||||
Self.MouseButtonAction(X, Y, mClick, mouse_Down);
|
||||
Self.MouseButtonAction(X, Y, mClick, mouse_Up);
|
||||
end;
|
||||
|
||||
function TMInput.IsMouseButtonDown(mType: TClickType): Boolean;
|
||||
{$IFDEF LINUX}
|
||||
var
|
||||
rootx, rooty, x, y:integer;
|
||||
root, child: twindow;
|
||||
xmask: Cardinal;
|
||||
Old_Handler: TXErrorHandler;
|
||||
{$ENDIF}
|
||||
begin
|
||||
{$IFDEF LINUX}
|
||||
Old_Handler := XSetErrorHandler(@MufasaXErrorHandler);
|
||||
XQueryPointer(TClient(Client).MWindow.XDisplay,TClient(Client).MWindow.CurWindow,@root,@child,@rootx,@rooty,@x,@y,@xmask);
|
||||
|
||||
case mType of
|
||||
mouse_Left: Result := (xmask and Button1Mask) <> 0;
|
||||
mouse_Middle: Result := (xmask and Button2Mask) <> 0;
|
||||
mouse_Right: Result := (xmask and Button3Mask) <> 0;
|
||||
end;
|
||||
|
||||
XSetErrorHandler(Old_Handler);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -15,6 +15,9 @@ type
|
||||
PRGB32 = ^TRGB32;
|
||||
|
||||
TTargetWindowMode = (w_BMP, w_Window, w_HDC, w_ArrayPtr, w_XWindow);
|
||||
TClickType = (mouse_Left, mouse_Right, mouse_Middle);
|
||||
TMousePress = (mouse_Down, mouse_Up);
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
|
@ -17,7 +17,10 @@ type
|
||||
procedure GetDimensions(var W, H: Integer);
|
||||
function CopyClientToBitmap(xs, ys, xe, ye: integer): TBitmap;
|
||||
|
||||
function SetTarget(XWindow: QWord): integer; overload;
|
||||
{$IFDEF LINUX}
|
||||
function SetTarget(XWindow: x.TWindow): integer; overload;
|
||||
{$ENDIF}
|
||||
|
||||
function SetTarget(Window: THandle; NewType: TTargetWindowMode): integer; overload;
|
||||
function SetTarget(ArrPtr: PRGB32): integer; overload;
|
||||
|
||||
@ -38,10 +41,10 @@ type
|
||||
XConnectionNumber: Integer;
|
||||
|
||||
// X Window
|
||||
CurWindow: QWord;
|
||||
CurWindow: x.TWindow;
|
||||
|
||||
// Desktop Window
|
||||
DesktopWindow: QWord;
|
||||
DesktopWindow: x.TWindow;
|
||||
|
||||
// X Screen
|
||||
XScreen: PScreen;
|
||||
@ -253,7 +256,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TMWindow.SetTarget(XWindow: QWord): integer; overload;
|
||||
function TMWindow.SetTarget(XWindow: x.TWindow): integer; overload;
|
||||
{$IFDEF LINUX}
|
||||
var
|
||||
Old_Handler: TXErrorHandler;
|
||||
|
225
project1.lpi
225
project1.lpi
@ -30,15 +30,15 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="24">
|
||||
<Units Count="26">
|
||||
<Unit0>
|
||||
<Filename Value="project1.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="project1"/>
|
||||
<CursorPos X="63" Y="17"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="37"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="42"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
@ -49,7 +49,7 @@
|
||||
<UnitName Value="TestUnit"/>
|
||||
<CursorPos X="33" Y="57"/>
|
||||
<TopLine Value="32"/>
|
||||
<UsageCount Value="37"/>
|
||||
<UsageCount Value="42"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="client.pas"/>
|
||||
@ -57,15 +57,15 @@
|
||||
<UnitName Value="Client"/>
|
||||
<CursorPos X="18" Y="34"/>
|
||||
<TopLine Value="10"/>
|
||||
<UsageCount Value="37"/>
|
||||
<UsageCount Value="42"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="../cogat/Units/CogatUnits/comptypes.pas"/>
|
||||
<UnitName Value="CompTypes"/>
|
||||
<CursorPos X="1" Y="507"/>
|
||||
<TopLine Value="486"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="19"/>
|
||||
<CursorPos X="13" Y="531"/>
|
||||
<TopLine Value="523"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="22"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
@ -74,7 +74,7 @@
|
||||
<UnitName Value="MufasaTypes"/>
|
||||
<CursorPos X="52" Y="20"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="37"/>
|
||||
<UsageCount Value="42"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="window.pas"/>
|
||||
@ -82,7 +82,7 @@
|
||||
<UnitName Value="Window"/>
|
||||
<CursorPos X="4" Y="100"/>
|
||||
<TopLine Value="85"/>
|
||||
<UsageCount Value="37"/>
|
||||
<UsageCount Value="42"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="../../Documents/fpc/rtl/inc/systemh.inc"/>
|
||||
@ -96,51 +96,51 @@
|
||||
<UnitName Value="Input"/>
|
||||
<CursorPos X="5" Y="20"/>
|
||||
<TopLine Value="15"/>
|
||||
<UsageCount Value="36"/>
|
||||
<UsageCount Value="41"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compinput.pas"/>
|
||||
<UnitName Value="CompInput"/>
|
||||
<CursorPos X="34" Y="979"/>
|
||||
<TopLine Value="971"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="17"/>
|
||||
<CursorPos X="43" Y="250"/>
|
||||
<TopLine Value="236"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="Units/MMLCore/client.pas"/>
|
||||
<UnitName Value="Client"/>
|
||||
<CursorPos X="19" Y="4"/>
|
||||
<TopLine Value="4"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="15"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="12"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="18"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<UnitName Value="Input"/>
|
||||
<CursorPos X="41" Y="20"/>
|
||||
<TopLine Value="6"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="15"/>
|
||||
<CursorPos X="42" Y="141"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="18"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="Units/MMLCore/mufasatypes.pas"/>
|
||||
<UnitName Value="MufasaTypes"/>
|
||||
<CursorPos X="20" Y="17"/>
|
||||
<CursorPos X="40" Y="19"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="15"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="18"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<UnitName Value="Window"/>
|
||||
<CursorPos X="43" Y="269"/>
|
||||
<TopLine Value="254"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="15"/>
|
||||
<CursorPos X="40" Y="265"/>
|
||||
<TopLine Value="249"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="18"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
@ -149,7 +149,7 @@
|
||||
<UnitName Value="windowutil"/>
|
||||
<CursorPos X="45" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="29"/>
|
||||
<UsageCount Value="34"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="../../Documents/lazarus/lcl/graphics.pp"/>
|
||||
@ -157,7 +157,7 @@
|
||||
<CursorPos X="15" Y="1287"/>
|
||||
<TopLine Value="1272"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="14"/>
|
||||
<UsageCount Value="17"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
@ -165,8 +165,8 @@
|
||||
<UnitName Value="CompBitmaps"/>
|
||||
<CursorPos X="1" Y="109"/>
|
||||
<TopLine Value="92"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="14"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="17"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
@ -178,17 +178,22 @@
|
||||
<Unit17>
|
||||
<Filename Value="../../Documents/fpc/packages/x11/src/xlib.pp"/>
|
||||
<UnitName Value="xlib"/>
|
||||
<CursorPos X="4" Y="1360"/>
|
||||
<TopLine Value="1345"/>
|
||||
<UsageCount Value="9"/>
|
||||
<CursorPos X="47" Y="1272"/>
|
||||
<TopLine Value="1257"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<ComponentName Value="Form1"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="TestUnit"/>
|
||||
<CursorPos X="15" Y="69"/>
|
||||
<TopLine Value="43"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="12"/>
|
||||
<CursorPos X="84" Y="34"/>
|
||||
<TopLine Value="28"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="15"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
@ -196,20 +201,20 @@
|
||||
<UnitName Value="CompColors"/>
|
||||
<CursorPos X="44" Y="914"/>
|
||||
<TopLine Value="897"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="12"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="15"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="../../Documents/fpc/packages/x11/src/x.pp"/>
|
||||
<UnitName Value="x"/>
|
||||
<CursorPos X="14" Y="41"/>
|
||||
<TopLine Value="26"/>
|
||||
<CursorPos X="4" Y="179"/>
|
||||
<TopLine Value="164"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="../../Documents/fpc/rtl/unix/aliasctp.inc"/>
|
||||
<CursorPos X="30" Y="50"/>
|
||||
<CursorPos X="63" Y="45"/>
|
||||
<TopLine Value="30"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit21>
|
||||
@ -227,127 +232,141 @@
|
||||
<TopLine Value="83"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="testunit.lfm"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<SyntaxHighlighter Value="LFM"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="../../Documents/fpc/rtl/unix/unix.pp"/>
|
||||
<UnitName Value="Unix"/>
|
||||
<CursorPos X="63" Y="63"/>
|
||||
<TopLine Value="56"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit25>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="49" Column="22" TopLine="30"/>
|
||||
<Filename Value="../../Documents/fpc/packages/x11/src/xlib.pp"/>
|
||||
<Caret Line="1272" Column="47" TopLine="1257"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compinput.pas"/>
|
||||
<Caret Line="6" Column="75" TopLine="1"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="76" Column="6" TopLine="47"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compinput.pas"/>
|
||||
<Caret Line="8" Column="22" TopLine="1"/>
|
||||
<Caret Line="80" Column="66" TopLine="76"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="63" Column="26" TopLine="37"/>
|
||||
<Caret Line="95" Column="31" TopLine="69"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="62" Column="86" TopLine="38"/>
|
||||
<Caret Line="93" Column="3" TopLine="69"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="project1.lpr"/>
|
||||
<Caret Line="7" Column="69" TopLine="1"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="97" Column="63" TopLine="82"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="project1.lpr"/>
|
||||
<Caret Line="10" Column="12" TopLine="1"/>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compinput.pas"/>
|
||||
<Caret Line="8" Column="33" TopLine="1"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="60" Column="29" TopLine="37"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="100" Column="29" TopLine="84"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="35" Column="79" TopLine="32"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="106" Column="42" TopLine="89"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="56" Column="24" TopLine="43"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="112" Column="55" TopLine="95"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compcolors.pas"/>
|
||||
<Caret Line="22" Column="23" TopLine="1"/>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="38" Column="69" TopLine="31"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compcolors.pas"/>
|
||||
<Caret Line="35" Column="29" TopLine="20"/>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="60" Column="14" TopLine="37"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="18" Column="45" TopLine="1"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="22" Column="48" TopLine="1"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="../cogat/Units/CogatUnits/comptypes.pas"/>
|
||||
<Caret Line="115" Column="53" TopLine="101"/>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="9" Column="16" TopLine="1"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="21" Column="82" TopLine="1"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="136" Column="1" TopLine="112"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="9" Column="10" TopLine="5"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="135" Column="125" TopLine="113"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="274" Column="1" TopLine="246"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="127" Column="22" TopLine="113"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="257" Column="19" TopLine="249"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="136" Column="21" TopLine="113"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="132" Column="10" TopLine="117"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="135" Column="2" TopLine="113"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="160" Column="6" TopLine="145"/>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="74" Column="3" TopLine="50"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="177" Column="23" TopLine="162"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="138" Column="31" TopLine="113"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="262" Column="39" TopLine="249"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="131" Column="45" TopLine="117"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="267" Column="34" TopLine="249"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="92" Column="13" TopLine="75"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="264" Column="3" TopLine="244"/>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="51" Column="40" TopLine="34"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="262" Column="72" TopLine="244"/>
|
||||
<Filename Value="Units/MMLCore/input.pas"/>
|
||||
<Caret Line="142" Column="1" TopLine="120"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="63" Column="33" TopLine="41"/>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compinput.pas"/>
|
||||
<Caret Line="51" Column="35" TopLine="31"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="../cogat/Units/CogatUnits/comptypes.pas"/>
|
||||
<Caret Line="110" Column="30" TopLine="83"/>
|
||||
<Filename Value="../cogat/Units/CogatUnits/compinput.pas"/>
|
||||
<Caret Line="32" Column="35" TopLine="19"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="258" Column="28" TopLine="243"/>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="75" Column="47" TopLine="58"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="Units/MMLCore/window.pas"/>
|
||||
<Caret Line="273" Column="10" TopLine="252"/>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="71" Column="19" TopLine="56"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="testunit.pas"/>
|
||||
<Caret Line="11" Column="14" TopLine="21"/>
|
||||
<Caret Line="60" Column="3" TopLine="38"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
|
@ -1,3 +1,5 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TForm1','FORMDATA',[
|
||||
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'%'#1#6'Height'#3#4#2#3'Top'#3#200#0#5'Wid'
|
||||
+'th'#3#11#3#13'ActiveControl'#7#7'Button1'#7'Caption'#6#5'Form1'#12'ClientHe'
|
||||
|
29
testunit.pas
29
testunit.pas
@ -41,26 +41,41 @@ begin
|
||||
Client.MWindow.GetDimensions(w, h);
|
||||
writeln(inttostr(w) + ' , ' + inttostr(h));
|
||||
|
||||
bmp := Client.MWindow.CopyClientToBitmap(0, 0, w, h);
|
||||
Client.MWindow.SetTarget(77736320);
|
||||
Client.MWindow.GetDimensions(w, h);
|
||||
writeln(inttostr(w) + ' , ' + inttostr(h));
|
||||
|
||||
{bmp := Client.MWindow.CopyClientToBitmap(0, 0, w, h);
|
||||
bmp.SaveToFile('/tmp/test.bmp');
|
||||
bmp.Free;
|
||||
}
|
||||
//Sleep(1000);
|
||||
{ Client.MInput.GetMousePos(x, y);
|
||||
writeln(inttostr(x) + ' , ' + inttostr(y)); }
|
||||
|
||||
{ Client.MInput.SetMousePos(50, 50);
|
||||
Client.MInput.GetMousePos(x, y);
|
||||
writeln(inttostr(x) + ' , ' + inttostr(y));
|
||||
writeln(inttostr(x) + ' , ' + inttostr(y)); }
|
||||
|
||||
Client.MInput.SetMousePos(50, 50);
|
||||
Client.MInput.GetMousePos(x, y);
|
||||
writeln(inttostr(x) + ' , ' + inttostr(y));
|
||||
Client.MInput.ClickMouse(40, 20, mouse_Right);
|
||||
|
||||
ptr := Client.MWindow.ReturnData(0, 0, w, h);
|
||||
{ ptr := Client.MWindow.ReturnData(0, 0, w, h);
|
||||
for yy := 0 to h - 1 do
|
||||
for xx := 0 to w - 1 do
|
||||
begin
|
||||
{ Do comparison here }
|
||||
inc(ptr);
|
||||
end;
|
||||
Client.MWindow.FreeReturnData;
|
||||
Client.MWindow.FreeReturnData; }
|
||||
|
||||
Client.MInput.IsMouseButtonDown(mouse_Left);
|
||||
Sleep(1000);
|
||||
if Client.MInput.IsMouseButtonDown(mouse_Left) then
|
||||
writeln('Left mouse is down!');
|
||||
if Client.MInput.IsMouseButtonDown(mouse_Right) then
|
||||
writeln('Right mouse is down!');
|
||||
if Client.MInput.IsMouseButtonDown(mouse_Middle) then
|
||||
writeln('Middle mouse is down!');
|
||||
Client.Destroy;
|
||||
writeln('Test completed successfully');
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user