mirror of
https://github.com/moparisthebest/Simba
synced 2024-11-25 10:42:20 -05:00
180 lines
3.0 KiB
ReStructuredText
180 lines
3.0 KiB
ReStructuredText
|
|
.. _scriptref_window:
|
|
|
|
Target Window Functions
|
|
=======================
|
|
|
|
Freeze
|
|
------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function Freeze: boolean;
|
|
|
|
|
|
If you call Freeze, the data that is *currently* in the client
|
|
is stored into memory. Simba will then target this memory for all further
|
|
finding operations; until *Unfreeze* is called. This can dramatically increase
|
|
speed if you don't care if the image doesn't change. It can be even more
|
|
important if you don't *want* the image to change; if you want to analyze a
|
|
specific frame.
|
|
|
|
Use like:
|
|
|
|
.. code-block:: pascal
|
|
|
|
Freeze;
|
|
|
|
if findcolors(...) then
|
|
...
|
|
|
|
Unfreeze
|
|
|
|
Make sure you never forget to call Unfreeze!
|
|
|
|
Unfreeze
|
|
--------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function Unfreeze: boolean;
|
|
|
|
Unfreeze the client data and restore the original client. See *Freeze* for more
|
|
details.
|
|
|
|
GetClientDimensions
|
|
-------------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
procedure GetClientDimensions(var w, h:integer);
|
|
|
|
Return the size of the client in *w* and *h*.
|
|
If it fails, it returns -1 for both h and w.
|
|
|
|
GetClientPosition
|
|
-----------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
procedure GetClientPosition(var left, top:integer);
|
|
|
|
Return the position of the client in *left* and *top*.
|
|
May return negative values.
|
|
|
|
|
|
SetTargetBitmap
|
|
---------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function SetTargetBitmap(Bitmap : integer): integer;
|
|
|
|
Set a bitmap as target / client. (It must be loaded by Simba)
|
|
|
|
|
|
SetTargetArray
|
|
--------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function SetTargetArray(P: Integer; w, h: integer): integer;
|
|
|
|
Set a target array as client data. This is generally not something you'd
|
|
want to call yourself. It is mainly included for external components to allow
|
|
Simba to efficiently target its memory. See the SMART source on how to do this.
|
|
|
|
|
|
SetEIOSTarget
|
|
-------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function SetEIOSTarget(name: string; initargs: Variant): integer;
|
|
|
|
|
|
SetImageTarget
|
|
--------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
procedure SetImageTarget(idx: integer);
|
|
|
|
|
|
SetKeyMouseTarget
|
|
-----------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
procedure SetKeyMouseTarget(idx: integer);
|
|
|
|
|
|
GetImageTarget
|
|
--------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function GetImageTarget: integer;
|
|
|
|
|
|
GetKeyMouseTarget
|
|
-----------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function GetKeyMouseTarget: integer;
|
|
|
|
|
|
ExportImageTarget
|
|
------------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function ExportImageTarget : TTarget_Exported;
|
|
|
|
|
|
ExportKeyMouseTarget
|
|
---------------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function ExportKeyMouseTarget : TTarget_Exported;
|
|
|
|
|
|
FreeTarget
|
|
----------
|
|
|
|
.. code-block:: pascal
|
|
|
|
procedure FreeTarget(idx: integer);
|
|
|
|
|
|
SetDesktopAsClient
|
|
------------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
procedure SetDesktopAsClient;
|
|
|
|
Set the default desktop as client.
|
|
|
|
ActivateClient
|
|
--------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
procedure ActivateClient;
|
|
|
|
Set the current target as active for key input.
|
|
|
|
|
|
IsTargetValid
|
|
-------------
|
|
|
|
.. code-block:: pascal
|
|
|
|
function IsTargetValid: boolean;
|
|
|
|
Returns true if the current target is valid.
|
|
|