mirror of
https://github.com/moparisthebest/Simba
synced 2024-11-16 14:25:02 -05:00
Merge branch 'master' of ssh://villavu.com:54367/simba
This commit is contained in:
commit
1e401abe97
@ -1,9 +1,15 @@
|
||||
Scripting Reference
|
||||
===================
|
||||
|
||||
Scripting Reference hoi
|
||||
Covered in this section are the functions available when using Simba with the
|
||||
default (Pascal) engine.
|
||||
|
||||
.. note::
|
||||
|
||||
More chapters need to be written, see :ref:`todo`
|
||||
|
||||
.. toctree::
|
||||
|
||||
scriptref/mouseandkeyboard.rst
|
||||
scriptref/colourfinding.rst
|
||||
scriptref/files.rst
|
||||
|
56
Doc/sphinx/scriptref/colourfinding.rst
Normal file
56
Doc/sphinx/scriptref/colourfinding.rst
Normal file
@ -0,0 +1,56 @@
|
||||
Colour Finding
|
||||
==============
|
||||
|
||||
Finding colours on the screen is quite simple. Simba offers methods like
|
||||
``FindColor`` to locate colours on the screen.
|
||||
|
||||
.. note::
|
||||
|
||||
Although the documentation uses the ``English`` spelling of
|
||||
``colour``; the code for compatibility sake uses ``color``, without the u.
|
||||
|
||||
Colour Finding Methods
|
||||
----------------------
|
||||
|
||||
A list of (not yet all) colour finding methods in Simba.
|
||||
|
||||
FindColor
|
||||
~~~~~~~~~
|
||||
|
||||
.. code-block:: pascal
|
||||
|
||||
function FindColor(var x, y: Integer; col, x1, y1, x2, y2: Integer):
|
||||
Boolean;
|
||||
|
||||
|
||||
FindColor returns true if the exact colour given (col) is found in the box defined by x1, y1, x2, y2.
|
||||
The point is returned in x and y. It searches from the top left to the bottom right and will stop
|
||||
after matching a point.
|
||||
|
||||
FindColorTolerance
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: pascal
|
||||
|
||||
function FindColorTolerance(var x, y: Integer; col, x1, y1, x2, y2, tol:
|
||||
Integer): Boolean;
|
||||
|
||||
FindColorTolerance returns true if a colour within the given tolerance range
|
||||
(tol) of the given colour (col) is found in the box defined by x1, y1, x2, y2.
|
||||
Only the first point is returned in x and y.
|
||||
Whether or not a colour is within the tolerance range is determined by the :ref:`CTS` mode.
|
||||
It searches from the top left to the bottom right and will stop after matching a point.
|
||||
|
||||
|
||||
FindColorsTolerance
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: pascal
|
||||
|
||||
function FindColorsTolerance(var pts: TPointArray; col, x1, y1, x2, y2,
|
||||
tol: Integer): Boolean;
|
||||
|
||||
FindColorsTolerance returns true if at least one point was found. A point is found if it is within the
|
||||
given tolerance range (tol) of the given color (col) and inside the box defined by x1, y1, x2, y2.
|
||||
Whether or not a color is within the tolerance range is determined by the CTS mode.
|
||||
It searches from the top left to the bottom right and will find all matching points in the area.
|
@ -13,7 +13,11 @@ Documentation TODO
|
||||
* write working with files for scriptreference (or any other chapter)
|
||||
It may be useful to check http://wizzup.org/simba/article/4
|
||||
* Features -> Perhaps (interactive) images?
|
||||
|
||||
* Scripting reference:
|
||||
- Files
|
||||
- Bitmaps
|
||||
- DTM
|
||||
- Internet
|
||||
|
||||
* Expand "Troubleshooting"
|
||||
- And its subsection.
|
||||
|
@ -193,6 +193,8 @@ exports
|
||||
{ Finder }
|
||||
findColor,
|
||||
findColors,
|
||||
findColorTolerance,
|
||||
findColorsTolerance,
|
||||
|
||||
{ Mem Management }
|
||||
fpc_freemem_,
|
||||
|
@ -26,34 +26,36 @@ class MMLCore(object):
|
||||
def __del__(self):
|
||||
del self.dll
|
||||
|
||||
DLL = MMLCore('../libmml.so')
|
||||
|
||||
c = Color(DLL)
|
||||
ret = c.find((0, 0, 100, 100), 0)
|
||||
print ret
|
||||
|
||||
ret = c.findAll((0, 0, 100, 100), 0)
|
||||
print ret
|
||||
|
||||
|
||||
m = Mouse(DLL)
|
||||
|
||||
|
||||
print m[(Mouse.Pos, Mouse.Left, Mouse.Right)]
|
||||
m[(Mouse.Pos, Mouse.Right)] = ((300,300), True)
|
||||
print m.getButtonStates()
|
||||
sleep(0.5)
|
||||
m.setPos((200,200))
|
||||
|
||||
sleep(2)
|
||||
|
||||
# Reset all buttons..
|
||||
m[(Mouse.Left, Mouse.Right, Mouse.Middle)] = [False for x in range(3)]
|
||||
for v in zip((Mouse.Left, Mouse.Right), m[(Mouse.Left, Mouse.Right)]):
|
||||
print v
|
||||
print m.getPos()
|
||||
|
||||
if hasattr(ret,'__iter__'):
|
||||
m.setPos(ret)
|
||||
|
||||
del DLL
|
||||
if __name__ == '__main__':
|
||||
DLL = MMLCore('../libmml.so')
|
||||
|
||||
c = Color(DLL)
|
||||
ret = c.find((0, 0, 100, 100), 0)
|
||||
print ret
|
||||
|
||||
ret = c.findAll((0, 0, 100, 100), 0)
|
||||
print ret
|
||||
|
||||
|
||||
m = Mouse(DLL)
|
||||
|
||||
|
||||
print m[(Mouse.Pos, Mouse.Left, Mouse.Right)]
|
||||
m[(Mouse.Pos, Mouse.Right)] = ((300,300), True)
|
||||
print m.getButtonStates()
|
||||
sleep(0.5)
|
||||
m.setPos((200,200))
|
||||
|
||||
sleep(2)
|
||||
|
||||
# Reset all buttons..
|
||||
m[(Mouse.Left, Mouse.Right, Mouse.Middle)] = [False for x in range(3)]
|
||||
for v in zip((Mouse.Left, Mouse.Right), m[(Mouse.Left, Mouse.Right)]):
|
||||
print v
|
||||
print m.getPos()
|
||||
|
||||
if hasattr(ret,'__iter__'):
|
||||
m.setPos(ret)
|
||||
|
||||
del DLL
|
||||
|
38
Projects/MMLLib/pymml/pres.py
Executable file
38
Projects/MMLLib/pymml/pres.py
Executable file
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python
|
||||
from mml import MMLCore
|
||||
from mmlmouse import Mouse
|
||||
import sys
|
||||
import time
|
||||
|
||||
DLL = MMLCore('../libmml.so')
|
||||
|
||||
m = Mouse(DLL)
|
||||
|
||||
while True:
|
||||
print 'Readline again'
|
||||
cmd = sys.stdin.readline()[:-1].lower()
|
||||
if cmd is '':
|
||||
print 'Stopping...'
|
||||
m[(Mouse.Left, Mouse.Right, Mouse.Middle)] = [False for x in range(3)]
|
||||
for v in zip((Mouse.Left, Mouse.Right), m[(Mouse.Left, Mouse.Right)]):
|
||||
print v
|
||||
break
|
||||
|
||||
print 'Doing:', cmd
|
||||
|
||||
if cmd in ['left', 'l']:
|
||||
m[Mouse.Left] = True
|
||||
time.sleep(0.1)
|
||||
m[Mouse.Left] = False
|
||||
time.sleep(0.1)
|
||||
elif cmd in ['right','r']:
|
||||
m[Mouse.Right] = True
|
||||
time.sleep(0.1)
|
||||
m[Mouse.Right] = False
|
||||
time.sleep(0.1)
|
||||
|
||||
for v in zip((Mouse.Left, Mouse.Right), m[(Mouse.Left, Mouse.Right)]):
|
||||
print v
|
||||
|
||||
|
||||
del DLL
|
@ -1964,7 +1964,7 @@ end;
|
||||
|
||||
procedure TSimbaForm.MenuItemHandbookClick(Sender: TObject);
|
||||
begin
|
||||
OpenURL('http://wizzup.org/static/simba/doc/ps_handbook/');
|
||||
OpenURL('http://wizzup.org/static/simbadoc/');
|
||||
end;
|
||||
|
||||
procedure TSimbaForm.MenuItemColourHistoryClick(Sender: TObject);
|
||||
|
Loading…
Reference in New Issue
Block a user