================= Using FreEPOC OPX ================= At the moment (Version 1.01) there are only two procedures provided by the OPX: - SetOrdinalPosition:(position&, priority&) =========================================== This provides a thin layer over the C++ Window Server call with the same name. It sets the ordinal position and priority of the whole window group - which usually means all windows of your OPL application. By using SetOrdinalPosition:(0,1) your applications windows will remain in foreground all the time. Note that your application will also receive all keyboard events so your application is responsible for sending those keyboard events to the application behind yours if this is necessary. At the same time your application will vanish from the list of running apps. As soon as possible you should reset you applications priority be using SetOrdinalPosition:(0,0) The second function is - SoftReset: ============ Which does just what it says so be carefull! - DrawPolygon&:(aId&,aX&,aY&,aVectors&,aCount&,aPen&,aPwidth&,aBrush&,aWinding&) ================================================================================ This procedure draws any specified polygon. You then specify some vectors. At the end of the last vector, the procedure closes the polygon for you. Variable aID& is the window ID on which the polygon is to be drawn. aX& The x coordinate of the point where your polygon starts drawing aY& The y coordinate of the point where your polygon starts drawing aVectors& is the address of the array where your vectors are stored (x coordinates should be stored in odd numbers of the array, and y coordinates in even numbers). aCount& The numbers of vectors. aPen& the pen color in Hexadecimal number (000000 is black and FFFFFF is white). That represents the color of the outline of the polygon. aPwidth& is the pen's (the outline) width. aBrush& is the color of the brush (the inside of the polygon). aWinding& defines if your polygon is to be closed or not. If this value is set to 0, the procedure wont draw a line between the first and the last point of your polygon. This procedure cannot be used on visible windows, it causes an error. So either draw it on one of your visible windows, but out of the screen. What you have to do then is to gcopy the portion of the window you have drawn on the part where you want to place your polygon. ======== Problems ======== FreEPOC OPX has been tested for several months with Start5 without any problems. However only the usage described above has been tested. If you use different values you should test it yourself. I am not responsible for any problems caused by the using this OPX. Please report any problems and tips to adrian@freepoc.de