How to set the screen of a new region
When I create a region, i want to set the screen of that region. I can only find a getScreen option for the region https:/
M = SUT['screen'
print M
R = Region(M.x, M.y, M.w, M.h)
print R
R2 = SUT['screen'
print R2
M[903,583 105x79]@S(VNC 13.1.18.55:5900) S:0.99 C:955,622 [723 msec]
R[903,583 105x79]@S(0)
R[903,583 105x79]@S(VNC 13.1.18.55:5900)
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Sikuli Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Glenn Tanner
- Solved:
- 2020-03-13
- Last query:
- 2020-03-13
- Last reply:
- 2020-03-13
Glenn Tanner (glenntanner3) said : | #1 |
After further reading. It seems newRegion needs to be added to the screen class globally.
RaiMan (raimund-hocke) said : | #2 |
As far as I understand from your code snippet:
you have a match from a VNC-screen, that you want to use as Region on the local Screen(2).
If this is true, then try this:
R = M.copyTo(Screen(2))
Glenn Tanner (glenntanner3) said : | #3 |
It was more about quick values. I want to findText in a nearby region. I dont see where copyTo is documented.
R = Region(M.x-20, M.y+100, M.w+100, M.h+50) # need to be on VNC screen OR Screen(n) which is saved in SUT['screen'] = SCREEN || vncStart.
R.findText("some value")
so would this work?
R = Region(M.x-20, M.y+100, M.w+100, M.h+50)
R.copyTo(vncScreen) # case 1
R.copyTo(SCREEN) # case 2
R.copyTo(Screen(2)) # case 3
Glenn Tanner (glenntanner3) said : | #4 |
RESOLVED:
After searching for copyTo found "https:/
R = Region(M.x, M.y, M.w, M.h, SUT['screen'])
R[903,583 105x79]@S(VNC 13.1.18.55:5900)
RaiMan (raimund-hocke) said : | #5 |
Interesting ;-) but not my effort.
It is true, that not all special features are documented. To see everything, that might be of interest, the javadocs might help.
There might be also some valuable hints here also for the VNC situation:
https:/
... and here are some helpers doc'ed also:
https:/
Glenn Tanner (glenntanner3) said : | #6 |
Understood, but i wouldn't call this special as multi screens are supported and "your" copy of documentation leaves out the 5th pram which is IScreen. If you could update the Region section to have included Region(
RaiMan (raimund-hocke) said : | #7 |
You are principally right.
... but though public, these methods are only for internal use.
You would not need these methods, if you use, what is documented as mentioned above.
And multi-screen is
The Screen class anyways is only a historical ghost monster, that would not be there if SikuliX would start today.
... sorry for the VNC implementation, which is in a state of some years ago (based on some contributions).
This currently is not my priority.
RaiMan (raimund-hocke) said : | #8 |
sorry, was interrupted and hit enter accidentally ;-)
And multi-screen is only defined for local screens.
Non-local screens are simply said a design and implementation accident ;-)
... and the Screen class will vanish anyways beginning with 2.1.0