Jump to content

X11 locking: Difference between revisions

From LinuxMCE
Trout (talk | contribs)
No edit summary
Rwilson131 (talk | contribs)
mNo edit summary
 
Line 1: Line 1:
[[Category: Programmer's Guide]]
[[Category: Programmer's Guide]]
== Using X11 locking in Orbiter ==
== Using X11 locking in Orbiter ==
In OrbiterLinux there are 2 new functions:
In OrbiterLinux there are 2 new functions:
X_LockDisplay() and X_UnlockDisplay(); which should be used
X_LockDisplay() and X_UnlockDisplay(); which should be used

Latest revision as of 18:51, 24 February 2008

Using X11 locking in Orbiter

In OrbiterLinux there are 2 new functions: X_LockDisplay() and X_UnlockDisplay(); which should be used before and after calling X11/SDL functions which update the display, or change the mouse position

Example:

   class_name::some_drawing_function()
   {
       OrbiterLinux *pOrbiterLinux = dynamic_cast<OrbiterLinux *>(pOrbiter);
       // or, better, make a member variable from pOrbiterLinux,
       // and initialize it before this function would be called
       
       // non-critical code
       
       if (pOrbiterLinux)
           pOrbiterLinux->X_LockDisplay();
       
       // critical code here
       
       if (pOrbiterLinux)
           pOrbiterLinux->X_UnlockDisplay();
       
       // non-critical code
   }

The dynamic_cast should return NULL only if you are not compiling the Linux version.

http://svn.plutohome.com/pluto/trunk/src/docs/X11_PLUTO.txt

http://svn.plutohome.com/pluto/trunk/src/docs/X11_NOTES.txt