You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(70) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(38) |
Feb
(4) |
Mar
(11) |
Apr
(49) |
May
(81) |
Jun
(65) |
Jul
(36) |
Aug
(57) |
Sep
(63) |
Oct
(57) |
Nov
(49) |
Dec
(41) |
2006 |
Jan
(75) |
Feb
(80) |
Mar
(10) |
Apr
(13) |
May
(100) |
Jun
(100) |
Jul
(77) |
Aug
(87) |
Sep
(80) |
Oct
(124) |
Nov
(39) |
Dec
(41) |
2007 |
Jan
(20) |
Feb
(32) |
Mar
(32) |
Apr
(43) |
May
(146) |
Jun
(40) |
Jul
(49) |
Aug
(33) |
Sep
(25) |
Oct
(19) |
Nov
(11) |
Dec
(8) |
2008 |
Jan
(4) |
Feb
(11) |
Mar
(31) |
Apr
(40) |
May
(34) |
Jun
(24) |
Jul
(39) |
Aug
(104) |
Sep
(27) |
Oct
(35) |
Nov
(34) |
Dec
(97) |
2009 |
Jan
(75) |
Feb
(29) |
Mar
(45) |
Apr
(76) |
May
(121) |
Jun
(103) |
Jul
(67) |
Aug
(28) |
Sep
(22) |
Oct
(39) |
Nov
(9) |
Dec
(15) |
2010 |
Jan
(7) |
Feb
(39) |
Mar
(40) |
Apr
(57) |
May
(67) |
Jun
(69) |
Jul
(49) |
Aug
(68) |
Sep
(22) |
Oct
(7) |
Nov
(2) |
Dec
(10) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(4) |
May
(6) |
Jun
(10) |
Jul
(16) |
Aug
(23) |
Sep
(9) |
Oct
|
Nov
(28) |
Dec
(3) |
2012 |
Jan
(11) |
Feb
(10) |
Mar
(1) |
Apr
|
May
(4) |
Jun
(3) |
Jul
(3) |
Aug
(4) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
(7) |
Mar
(30) |
Apr
(4) |
May
(4) |
Jun
(8) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(2) |
Nov
(24) |
Dec
(13) |
2014 |
Jan
(7) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(9) |
Jun
|
Jul
(3) |
Aug
(9) |
Sep
|
Oct
(2) |
Nov
|
Dec
(3) |
2015 |
Jan
(4) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
(1) |
Oct
(4) |
Nov
(7) |
Dec
(39) |
2016 |
Jan
(17) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2017 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2018 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: George H. <geo...@us...> - 2006-01-13 12:07:38
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7684/win32forth/src/lib Modified Files: MdiDialog.f Log Message: gah: Added dex comments to MdiDialog Index: MdiDialog.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/MdiDialog.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvshxARte and /tmp/cvs7iCJuo differ |
From: George H. <geo...@us...> - 2006-01-13 12:05:10
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7112/win32forth/src Modified Files: Class.f FLOAT.F Log Message: gah: Fixed a bug in F+! Index: Class.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/Class.f,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Class.f 6 Jan 2006 10:36:14 -0000 1.9 --- Class.f 13 Jan 2006 12:05:01 -0000 1.10 *************** *** 457,466 **** 0 value Obj-LOADLINE ! \ :OBJECT creates an object with a nameless class. ! \ useful for creating unique objects that are not similar to other objects, ! \ and where there will only ever be one object of this nameless class. ! \ Additional objects of classes can be created with an object as their ! \ superclass. : :Object ( -<object-name>- ) bl word count "CLIP" obj-buf place current @ to oldcurrent \ save context for later restoral --- 457,467 ---- 0 value Obj-LOADLINE ! : :Object ( -<object-name>- ) + \ *G Create an object with a nameless class, + \ ** useful for creating unique objects that are not similar to other objects, + \ ** and where there will only ever be one object of this nameless class. + \ ** Additional objects or classes can be created with an object as their + \ ** superclass. bl word count "CLIP" obj-buf place current @ to oldcurrent \ save context for later restoral *************** *** 476,481 **** then to Obj-LOADLINE ; ! \ :CLASS defines a class for creating a group of similar objects ! : :Class ( -- ) current @ to oldcurrent \ save context for later restoral false to ?:M --- 477,482 ---- then to Obj-LOADLINE ; ! : :Class ( -<class-name>- ) ! \ *G Define a class for creating a group of similar objects. current @ to oldcurrent \ save context for later restoral false to ?:M *************** *** 488,502 **** (Build) ; - \ Specify the superclass of the class or object being created. Used as follows; - \ - \ :Class <newclassname> <Super <superclassname> - \ ;Class - \ - \ - or - - \ - \ :Object <newclassname> <Super <superclassname> - \ :Object ! : <Super ( -- ) \ allow inheriting from a class or an object ' dup ?isClass if >Class inherit --- 489,503 ---- (Build) ; ! : <Super ( -- ) \ W32F Class ! \ *G allow inheriting from a class or an object ! \ *E Specify the superclass of the class or object being created. Used as follows; ! \ ** :Class <newclassname> <Super <superclassname> ! \ ** ;Class ! \ ** ! \ ** - or - ! \ ** ! \ ** :Object <newobjectname> <Super <superclassname> ! \ ** :Object ' dup ?isClass if >Class inherit *************** *** 526,535 **** \ ' Clone ; - \ |CLASS defines a class that creates headerless objects - \ |Class objects must be linked in the ClassInit: method - \ Used primarily for defining menus, where the names of objects are not needed, - \ and where the objects are only accessed through a linked list, built using - \ the ClassInit: method. : |Class ( -- ) current @ to oldcurrent \ save context for later restoral false to ?:M --- 527,536 ---- \ ' Clone ; : |Class ( -- ) + \ *G Defines a class that creates headerless objects. + \ ** |Class objects should be linked in the ClassInit: method + \ ** Used primarily for defining menus, where the names of objects are not needed, + \ ** and where the objects are only accessed through a linked list, built using + \ ** the ClassInit: method. current @ to oldcurrent \ save context for later restoral false to ?:M *************** *** 1074,1078 **** forth definitions ! : Dispose ( addr -- ) \ dispose of an dynamically allocated object ~: [ dup ] cell- Free Abort" Disposing Object failed!" ; --- 1075,1080 ---- forth definitions ! : Dispose ( addr -- ) ! \ *G Dispose of a dynamically allocated object. ~: [ dup ] cell- Free Abort" Disposing Object failed!" ; Index: FLOAT.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/FLOAT.F,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** FLOAT.F 3 Jan 2006 08:26:17 -0000 1.22 --- FLOAT.F 13 Jan 2006 12:05:01 -0000 1.23 *************** *** 131,135 **** ! \ FXAM results: \ Class C3 C2 C0 \ Unsupported 0 0 0 --- 131,135 ---- ! \ FEXAM results: \ Class C3 C2 C0 \ Unsupported 0 0 0 *************** *** 347,352 **** fld FSIZE DATASTACK_MEMORY faddp st(1), st ! FPU> ! pop tos float; --- 347,351 ---- fld FSIZE DATASTACK_MEMORY faddp st(1), st ! fstp fsize datastack_memory pop tos float; *************** *** 538,542 **** \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! code fpi ( fs: -- r ) fldpi FPU> --- 537,542 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! code fpi ( fs: -- r ) \ W32F Float extra ! \ *G Push the value 3.141596... on to the FP stack fldpi FPU> *************** *** 1339,1356 **** : SFALIGNED ( addr -- addr ) ; immediate ! : FLOAT+ ( addr1 -- addr2 ) ! B/FLOAT + ; : FLOATS ( n1 -- n2 ) B/FLOAT * ; ! : DFLOAT+ ( addr1 -- addr2 ) ! 8 + ; : DFLOATS ( n1 -- n2 ) 8 * ; ! : SFLOAT+ ( addr1 -- addr2 ) ! 4 + ; : SFLOATS ( n1 -- n2 ) --- 1339,1353 ---- : SFALIGNED ( addr -- addr ) ; immediate ! b/float offset FLOAT+ ( addr1 -- addr2 ) : FLOATS ( n1 -- n2 ) B/FLOAT * ; ! 8 offset DFLOAT+ ( addr1 -- addr2 ) : DFLOATS ( n1 -- n2 ) 8 * ; ! 4 offset SFLOAT+ ( addr1 -- addr2 ) : SFLOATS ( n1 -- n2 ) |
From: George H. <geo...@us...> - 2006-01-09 13:33:52
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28547/win32forth/doc Modified Files: p-index.htm Added Files: p-classdbg.htm Log Message: gah: Added documentation on class debugging Index: p-index.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-index.htm,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** p-index.htm 22 Dec 2005 11:02:28 -0000 1.7 --- p-index.htm 9 Jan 2006 13:33:42 -0000 1.8 *************** *** 136,139 **** --- 136,140 ---- <li><a href="p-objects.htm">Object Oriented Programming</a></li> <li><a href="p-classes.htm">Win32Forth Classes</a></li> + <li><a href="p-classdbg.htm">Class Debugging Words</a></li> <li><a href="p-module.htm">Using the Module Wordset</a></li> <li><a href="p-task.htm">Using the Task Wordset</a></li> --- NEW FILE: p-classdbg.htm --- <html> <head> <meta http-equiv="Content-Language" content="en-gb"> <meta name="GENERATOR" content="dexh00"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title> W32F classdbg</title><style><!-- h1 { font-family: Tahoma; font-size: 24pt; font-weight: bold } h2 { font-family: Tahoma; font-size: 18pt; font-weight: bold } --> </style> </head> <body><h1 align="center"> <a href="mailto:win...@ya...?subject=DOC:Doc error in $Id: p-classdbg.htm,v 1.1 2006/01/09 13:33:42 georgeahubert Exp $"> <img border="0" src="TELLUS.gif" align="left" width="32" height="32"></a> <img border="0" src="FORTHPRO.gif" width="32" height="32"> Win32Forth</h1> <hr /><h1>Class Debugging Words </h1><hr /><p>Win32Forth contains some miscellaneous words to help with developing Classes and Objects. </p><h2>Glossary </h2><pre><b><a name="0">: cmethods ( 'class' -- ) \ W32F Class debug </a></b></pre><p>Print out all the methods of a class. </p><pre><b><a name="0">: methods ( object-address -- ) \ W32F Class debug </a></b></pre><p>Print out all the methods of an object. </p><pre><b><a name="0">: ivars ( object-address -- ) \ W32F Class debug </a></b></pre><p>Print out all the object IVARs of an object. </p><pre><b><a name="0">: matches ( -<name>- ) \ W32F Class debug </a></b></pre><p>Print out all the method selectors and IVAR names that have the same hash value as -<name>- will be assigned. If -<name>- is already in use as a selector or an IVAR name then it will appear in the list. </p><pre><b><a name="0">: objects ( 'class' -- ) \ W32F Class debug </a></b></pre><p>Display all of the instances of 'class'. </p><pre><b><a name="0">: msee ( -<method object>- ) \ W32F Class debug </a></b></pre><p>Display the source code of the method. Either a Class or Object can be supplied. </p><pre><b><a name="0">: mdebug ( -<method object>- ) \ W32F Class debug </a></b></pre><p>Set debugging of the method. An Object must be supplied (Classes aren't allowed). NOTE the method will be debugged for all objects that respond to it. </p><pre><b><a name="0">: mdbg ( -<method object>- ) \ W32F Class debug </a></b></pre><p>Set debugging of the method and then execute it. An Object must be supplied (Classes aren't allowed). NOTE the method will be debugged for all objects that respond to it. </p><hr><p>Document $Id: p-classdbg.htm,v 1.1 2006/01/09 13:33:42 georgeahubert Exp $</p> </body></html> |
From: George H. <geo...@us...> - 2006-01-09 13:30:02
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27674/win32forth/src Modified Files: CLASSDBG.F Log Message: gah: Added utility to check for matching hash values Index: CLASSDBG.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/CLASSDBG.F,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CLASSDBG.F 29 Aug 2005 15:56:27 -0000 1.6 --- CLASSDBG.F 9 Jan 2006 13:29:53 -0000 1.7 *************** *** 1,5 **** \ $Id$ ! \ classdbg.f cr .( Loading Object Debugging...) --- 1,7 ---- \ $Id$ ! \ *! doc\p-classdbg W32F classdbg ! \ *T Class Debugging Words ! \ *P Win32Forth contains some miscellaneous words to help with developing Classes and Objects. cr .( Loading Object Debugging...) *************** *** 9,13 **** also classes ! : .method ( mlink -- mlink ) dup cell+ @ unhash type 14 #tab space 14 ?cr ; --- 11,15 ---- also classes ! : .method ( mlink -- mlink ) dup cell+ @ unhash type 14 #tab space 14 ?cr ; *************** *** 19,25 **** repeat ; external ! : cmethods ( 'class' -- ) \ methods of a class { \ superlist -- } cr ." New Methods :-" cr --- 21,45 ---- repeat ; + : ?.match ( n lfa -- n ) + link> dup @ docon = if + 2dup execute = if + >name id. 20 #tab space 20 ?cr else + drop then else + drop then ; + + : #matches ( n -- ) + cr hash-wid voc#threads 0 do + ['] ?.match hash-wid i cells+ do-link loop + drop ; + + : "matches ( addr len -- ) + 2dup upper method-hash #matches ; + external ! \ *S Glossary ! ! : cmethods ( 'class' -- ) \ W32F Class debug ! \ *G Print out all the methods of a class. { \ superlist -- } cr ." New Methods :-" cr *************** *** 33,37 **** _methods ; ! : methods ( object-address -- ) depth 0= if ' execute --- 53,58 ---- _methods ; ! : methods ( object-address -- ) \ W32F Class debug ! \ *G Print out all the methods of an object. depth 0= if ' execute *************** *** 39,43 **** cr obj>class _methods ; ! : ivars ( object-address -- ) depth 0= if ' execute --- 60,65 ---- cr obj>class _methods ; ! : ivars ( object-address -- ) \ W32F Class debug ! \ *G Print out all the object IVARs of an object. depth 0= if ' execute *************** *** 50,53 **** --- 72,82 ---- repeat ; + + : matches ( -<name>- ) \ W32F Class debug + \ *G Print out all the method selectors and IVAR names that have the same hash value as + \ ** -<name>- will be assigned. If -<name>- is already in use as a selector or an IVAR name + \ ** then it will appear in the list. + bl word count "matches ; + previous *************** *** 69,73 **** also classes ! : objects ( 'class' -- ) \ display direct object for 'class' ' >body to theClass ['] .obj on-allwords ; --- 98,103 ---- also classes ! : objects ( 'class' -- ) \ W32F Class debug ! \ *G Display all of the instances of 'class'. ' >body to theClass ['] .obj on-allwords ; *************** *** 79,105 **** classes also hidden also bug also ! \ : GetMethod { \ m0cfa -- -<method: object>- m0cfa } \ return xt of method ! \ @word _msgFind 1 <> abort" Undefined Method" ! \ TRUE to get-reference? \ tell do_message to return method ! \ depth >r ! \ execute to m0cfa \ execute do_message ! \ depth r> < ! \ if 0 \ if it was a class, object is NULL ! \ then to obj-save m0cfa ; ! \ ! \ : [GetMethod] ( compiling:- -<method: object>- -- ) ! \ ( runtime:- -- m0cfa ) ! \ state @ >r postpone [ ! \ GetMethod r> if ] then ! \ Postpone Literal ; Immediate ! : msee ( -<method object>- ) \ display code of method GetMethod cr ." :M " dup .m0name 2 spaces dup 2 cells+ @ if ! cell+ .locals \ display locals if present else 3 cells+ then \ step to the PFA .pfa ; \ decompile the definition ! : mdebug ( -<method object>- ) \ set debugging of method unbug false to ?dbg-cont \ turn off continuous step --- 109,125 ---- classes also hidden also bug also ! \ GetMethod and [GetMethod] have been moved to Class.f ! : msee ( -<method object>- ) \ W32F Class debug ! \ *G Display the source code of the method. Either a Class or Object can be supplied. GetMethod cr ." :M " dup .m0name 2 spaces dup 2 cells+ @ if ! cell+ .locals \ display locals if present else 3 cells+ then \ step to the PFA .pfa ; \ decompile the definition ! : mdebug ( -<method object>- ) \ W32F Class debug ! \ *G Set debugging of the method. An Object must be supplied (Classes aren't allowed). ! \ ** NOTE the method will be debugged for all objects that respond to it. unbug false to ?dbg-cont \ turn off continuous step *************** *** 109,113 **** 3 cells+ tracing ; ! : mdbg ( -<method object>- ) \ debug a method now >in @ mdebug >in ! ; ! --- 129,138 ---- 3 cells+ tracing ; ! : mdbg ( -<method object>- ) \ W32F Class debug ! \ *G Set debugging of the method and then execute it. ! \ ** An Object must be supplied (Classes aren't allowed). ! \ ** NOTE the method will be debugged for all objects that respond to it. >in @ mdebug >in ! ; ! ! ! \ *Z |
From: Dirk B. <db...@us...> - 2006-01-08 09:43:21
|
Update of /cvsroot/win32forth/win32forth/demos In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6495/demos Modified Files: WINHELLO.F Log Message: Changed WinHello to show some better WM_PAINT handling. Index: WINHELLO.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/demos/WINHELLO.F,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WINHELLO.F 21 Dec 2004 00:18:53 -0000 1.1 --- WINHELLO.F 8 Jan 2006 09:43:13 -0000 1.2 *************** *** 18,44 **** ;M ! :M WindowTitle: ( -- Zstring ) \ window caption z" Hello World" ;M :M On_Paint: { \ temp$ -- } \ all window refreshing is done by On_Paint: ! \ get the Client area of the window and fill it black ! AddrOf: wRect GetClientRect: self ! black AddrOf: wRect FillRect: dc ! \ set the backgroundcolor for text to black ! black SetBkColor: dc ! \ and set the Textcolor to green ! green SetTextColor: dc ! MAXSTRING LocalAlloc: temp$ ! s" Repainted " temp$ place ! counter (.) temp$ +place ! s" times" temp$ +place ! 20 ( x ) 50 ( y ) temp$ count TextOut: dc ! 20 ( x ) 20 ( y ) s" Hello World" TextOut: dc ;M :M On_Init: ( -- ) \ things to do at the start of window creation On_Init: super \ do anything superclass needs --- 18,71 ---- ;M ! :M WindowTitle: ( -- Zstring ) \ window caption z" Hello World" ;M + :M On_EraseBackground: ( hwnd msg wparam lparam -- res ) + \ let the On_Paint: Method redraw the background + 4drop 0 ;M + :M On_Paint: { \ temp$ -- } \ all window refreshing is done by On_Paint: ! \ draw background only if needed ! ps_fErase ! if ! \ cr ." erase background" ! ps_left ps_top ps_right ps_bottom ! black FillArea: dc ! then ! \ check if our drawing area is visible or not ! 0 0 170 90 SetRect: wRect ! AddrOf: wRect GetHandle: dc call RectVisible ! if ! \ cr ." visible" ! \ let's draw... ! black SetBkColor: dc ! green SetTextColor: dc ! MAXSTRING LocalAlloc: temp$ ! s" Repainted " temp$ place ! counter (.) temp$ +place ! s" times" temp$ +place ! 20 ( x ) 50 ( y ) temp$ count TextOut: dc ! 20 ( x ) 20 ( y ) s" Hello World" TextOut: dc ! \ else cr ." invisible" ! then ;M ! ! :M Paint: ( -- ) ! \ Note: The Paint: method of the window class invalidates the ! \ complete client rectangle. Since we only draw in a smal part ! \ of the window only the the part of the window in whitch we ! \ are going to draw is marked as invalid. ! 0 0 170 90 SetRect: wRect ! 1 AddrOf: wRect hWnd Call InvalidateRect ?win-error ;M + :M WM_TIMER ( h m w l -- res ) \ handle the WM_TIMER events + 1 +to counter \ bump the counter + Paint: self \ refresh the window + 0 ;M + :M On_Init: ( -- ) \ things to do at the start of window creation On_Init: super \ do anything superclass needs *************** *** 47,55 **** ;M - :M WM_TIMER ( h m w l -- res ) \ handle the WM_TIMER events - 1 +to counter \ bump the counter - Paint: self \ refresh the window - 0 ;M - :M On_Done: ( -- ) \ things to do before program termination 1 hWnd Call KillTimer drop \ destroy the timer, we are done --- 74,77 ---- *************** *** 79,80 **** --- 101,103 ---- [THEN] + demo |
From: Dirk B. <db...@us...> - 2006-01-08 09:28:27
|
Update of /cvsroot/win32forth/win32forth/doc/classes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4137/doc/classes Modified Files: Control.htm Controls.htm Dialog.htm Generic.htm Window.htm gdiBase.htm gdiBitmap.htm gdiBrush.htm gdiDC.htm gdiFont.htm gdiMetafile.htm gdiMetafileDC.htm gdiPen.htm gdiStruct.htm gdiWindowDc.htm Log Message: More documentation for the GDI class library added. Index: gdiStruct.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiStruct.htm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** gdiStruct.htm 31 Dec 2005 11:12:43 -0000 1.3 --- gdiStruct.htm 8 Jan 2006 09:28:07 -0000 1.4 *************** *** 20,26 **** </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><h2>Glossary ! </h2><a name="gdiPOINT"></a> ! <pre><b><a name="0">:class gdiPOINT <super object </a></b></pre><p>Wrapper class for a POINT struct. </p><pre><b><a name="0">:M GetX: ( -- x ) --- 20,26 ---- </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><a name="gdiPOINT"></a> ! <h2>gdiPOINT class ! </h2><pre><b><a name="0">:class gdiPOINT <super object </a></b></pre><p>Wrapper class for a POINT struct. </p><pre><b><a name="0">:M GetX: ( -- x ) *************** *** 39,46 **** </a></b></pre><p>End of gdiPOINT class </p><a name="gdiCOLORREF"></a> ! <pre><b><a name="0">:class gdiCOLORREF <super object ! </a></b></pre><p>Wrapper class for a COLORREF struct. <br /> ! A COLORREF value is used to specify an RGB color. ! When specifying an explicit RGB color, the COLORREF value has the following hexadecimal form: 0x00bbggrr <br /> The low-order byte contains a value for the relative intensity of red; --- 39,47 ---- </a></b></pre><p>End of gdiPOINT class </p><a name="gdiCOLORREF"></a> ! <h2>gdiCOLORREF class ! </h2><pre><b><a name="0">:class gdiCOLORREF <super object ! </a></b></pre><p>Wrapper class for a COLORREF struct. ! </p><p>A COLORREF value is used to specify an RGB color. ! </p><p>When specifying an explicit RGB color, the COLORREF value has the following hexadecimal form: 0x00bbggrr <br /> The low-order byte contains a value for the relative intensity of red; *************** *** 245,260 **** </a></b></pre><p>End of gdiCOLORREF class </p><a name="gdiRGBQUAD"></a> ! <pre><b><a name="0">:class gdiRGBQUAD <super gdiCOLORREF ! </a></b></pre><p>Wrapper class for a RGBQUAD struct <br /> ! The RGBQUAD structure describes a color consisting of relative ! intensities of red, green, and blue. <br /> ! The bmiColors member of the BITMAPINFO structure consists of an array ! of RGBQUAD structures. <br /> ! Note: This class doesn't have any private methods. For a description ! of the methods see the gdiCOLORREF class. </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiRGBQUAD class </p><a name="gdiSIZE"></a> ! <pre><b><a name="0">:class gdiSIZE <super object </a></b></pre><p>Wrapper class for a SIZE struct </p><pre><b><a name="0">:M GetX: ( -- x ) --- 246,263 ---- </a></b></pre><p>End of gdiCOLORREF class </p><a name="gdiRGBQUAD"></a> ! <h2>gdiRGBQUAD class ! </h2><pre><b><a name="0">:class gdiRGBQUAD <super gdiCOLORREF ! </a></b></pre><p>Wrapper class for a RGBQUAD struct ! </p><p>The RGBQUAD structure describes a color consisting of relative ! intensities of red, green, and blue. ! </p><p>The bmiColors member of the BITMAPINFO structure consists of an array ! of RGBQUAD structures. ! </p><p>Note: This class doesn't have any private methods. For a description ! of the methods see the <i> gdiCOLORREF </i> class. </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiRGBQUAD class </p><a name="gdiSIZE"></a> ! <h2>gdiSIZE class ! </h2><pre><b><a name="0">:class gdiSIZE <super object </a></b></pre><p>Wrapper class for a SIZE struct </p><pre><b><a name="0">:M GetX: ( -- x ) *************** *** 273,278 **** </a></b></pre><p>End of gdiSIZE class </p><a name="gdiTEXTMETRIC"></a> ! <pre><b><a name="0">:class gdiTEXTMETRIC <super object </a></b></pre><p>Wrapper class for a TEXTMETRIC struct </p><pre><b><a name="0">:M Addr: ( -- addr ) &TEXTMETRIC ;M </a></b></pre><p>Get the address of the TEXTMETRIC struct. --- 276,362 ---- </a></b></pre><p>End of gdiSIZE class </p><a name="gdiTEXTMETRIC"></a> ! <h2>gdiTEXTMETRIC class ! </h2><pre><b><a name="0">:class gdiTEXTMETRIC <super object </a></b></pre><p>Wrapper class for a TEXTMETRIC struct + </p><pre><b><a name="0">:M SetHeight: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetAscent: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetDescent: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetInternalLeading: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetExternalLeading: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetAveCharWidth: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetMaxCharWidth: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetWeight: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetOverhang: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetDigitizedAspectX: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetDigitizedAspectY: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetFirstChar: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetLastChar: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetDefaultChar: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetBreakChar: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetItalic: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetUnderlined: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetStruckOut: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetPitchAndFamily: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M SetCharSet: ( n -- ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetHeight: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetAscent: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetDescent: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetInternalLeading: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetExternalLeading: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetAveCharWidth: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetMaxCharWidth: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetWeight: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetOverhang: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetDigitizedAspectX: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetDigitizedAspectY: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetFirstChar: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetLastChar: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetDefaultChar: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetBreakChar: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetItalic: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetUnderlined: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetStruckOut: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetPitchAndFamily: ( -- n ) + </a></b></pre><p> + </p><pre><b><a name="0">:M GetCharSet: ( -- n ) + </a></b></pre><p> </p><pre><b><a name="0">:M Addr: ( -- addr ) &TEXTMETRIC ;M </a></b></pre><p>Get the address of the TEXTMETRIC struct. Index: gdiMetafile.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiMetafile.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gdiMetafile.htm 31 Dec 2005 11:12:43 -0000 1.2 --- gdiMetafile.htm 8 Jan 2006 09:28:07 -0000 1.3 *************** *** 20,25 **** </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><pre><b><a name="0">:class gdiMetafile <super gdiObject </a></b></pre><p>Metafile class. This class only support's enhanced metafiles (emf) ! </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiMetafile class --- 20,64 ---- </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><h2>Glossary ! </h2><a name="gdiMetafile"></a> ! <pre><b><a name="0">:class gdiMetafile <super gdiObject </a></b></pre><p>Metafile class. This class only support's enhanced metafiles (emf) ! + </p><pre><b><a name="0">:M Destroy: ( -- ) + </a></b></pre><p>Destroy the metafile. + </p><pre><b><a name="0">:M SetHandle: ( hMF -- ) + </a></b></pre><p>Set the handle of the metafile. + </p><pre><b><a name="0">:M Copy: ( -- hCopy ) + </a></b></pre><p>Create a copy of the metafile in memory + </p><pre><b><a name="0">:M Load: ( addr len -- f ) + </a></b></pre><p>Load a metafile from a file + </p><pre><b><a name="0">:M Save: ( addr len -- f ) + </a></b></pre><p>Save the metafile in a file + </p><pre><b><a name="0">:M PlayInRect: ( left top right bottom hDestDC -- ) + </a></b></pre><p>Play the metafile in a rectangle + </p><pre><b><a name="0">:M CopyToClipboard: ( -- ) + </a></b></pre><p>Copy the metafile to the clipboard + </p><pre><b><a name="0">:M GetFromClipboard: ( -- ) + </a></b></pre><p>Get a metafile from the clipboard + </p><pre><b><a name="0">:M GetFileHeader: ( pemh size -- n ) + </a></b></pre><p>The GetFileHeader: method retrieves the record containing the header + for the specified enhanced-format metafile. <br /> + pemh Pointer to an ENHMETAHEADER structure that receives the header record. + If this parameter is NULL, the function returns the size of the header record. <br /> + size Specifies the size, in bytes, of the buffer to receive the data. Only this + many bytes will be copied. + </p><pre><b><a name="0">:M GetPaletteEntries: ( cEntries lppe -- n ) + </a></b></pre><p>The GetPaletteEntries: methods retrieves optional palette entries from the + specified enhanced metafile. <br /> + cEntries Specifies the number of entries to be retrieved from the optional + palette. <br /> + lppe Pointer to an array of PALETTEENTRY structures that receives the palette + colors. The array must contain at least as many structures as there are entries + specified by the cEntries parameter. + If the array pointer is NULL and the enhanced metafile contains an optional palette, + the return value is the number of entries in the enhanced metafile's palette; if + the array pointer is a valid pointer and the enhanced metafile contains an optional + palette, the return value is the number of entries copied; if the metafile does not + contain an optional palette, the return value is zero. Otherwise, the return value + is GDI_ERROR. </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiMetafile class Index: gdiWindowDc.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiWindowDc.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gdiWindowDc.htm 31 Dec 2005 11:12:43 -0000 1.2 --- gdiWindowDc.htm 8 Jan 2006 09:28:07 -0000 1.3 *************** *** 20,25 **** </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><pre><b><a name="0">:class gdiWindowDC <super gdiDC </a></b></pre><p>Window device context class </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiWindowDC class --- 20,82 ---- </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><h2>Glossary ! </h2><pre><b><a name="0">:class gdiWindowDC <super gdiDC </a></b></pre><p>Window device context class + </p><pre><b><a name="0">:M Release: ( -- ) + </a></b></pre><p>The Release: method releases a device context (DC), freeing it + for use by other applications. The effect of the ReleaseDC function depends + on the type of DC. It frees only common and window DCs. It has no effect on + class or private DCs. + </p><pre><b><a name="0">:M GetDC: ( hWnd -- f ) + </a></b></pre><p>The GetDC method retrieves a handle to a display device context + for the client area of a specified window. + </p><pre><b><a name="0">:M GetDCEx: ( hrgnClip flags hWnd -- f ) + </a></b></pre><p>The GetDCEx method retrieves a handle to a display device context + for the client area of a specified window or for the entire screen. + You can use the returned handle in subsequent GDI functions to draw in the DC. + </p><p>This function is an extension to the GetDC function, which gives an application + more control over how and whether clipping occurs in the client area. + </p><p><i> hrgnClip </i> Specifies a clipping region that may be combined with the visible region + of the DC. If the value of flags is DCX_INTERSECTRGN or DCX_EXCLUDERGN, then the + operating system assumes ownership of the region and will automatically delete it + when it is no longer needed. In this case, applications should not use the region + not even delete it after a successful call to GetDCEx. + </p><p><i> flags </i> Specifies how the DC is created. This parameter can be one or more of the + following values. + </p><p><b> DCX_WINDOW </b> Returns a DC that corresponds to the window rectangle rather + than the client rectangle. + </p><p><b> DCX_CACHE </b> Returns a DC from the cache, rather than the OWNDC or CLASSDC + window. Essentially overrides CS_OWNDC and CS_CLASSDC. + </p><p><b> DCX_PARENTCLIP </b> Uses the visible region of the parent window. The parent's + WS_CLIPCHILDREN and CS_PARENTDC style bits are ignored. The + origin is set to the upper-left corner of the window identified + by hWnd. + </p><p><b> DCX_CLIPSIBLINGS </b> Excludes the visible regions of all sibling windows above the + window identified by hWnd. + </p><p><b> DCX_CLIPCHILDREN </b> Excludes the visible regions of all child windows below the + window identified by hWnd. + </p><p><b> DCX_NORESETATTRS </b> Does not reset the attributes of this DC to the default attributes + when this DC is released. + </p><p><b> DCX_LOCKWINDOWUPDATE </b> Allows drawing even if there is a LockWindowUpdate call in effect + that would otherwise exclude this window. Used for drawing during + tracking. + </p><p><b> DCX_EXCLUDERGN </b> The clipping region identified by hrgnClip is excluded from the + visible region of the returned DC. + </p><p><b> DCX_INTERSECTRGN </b> The clipping region identified by hrgnClip is intersected with the + visible region of the returned DC. + </p><p><b> DCX_VALIDATE </b> When specified with DCX_INTERSECTUPDATE, causes the DC to be + completely validated. Using this function with both DCX_INTERSECTUPDATE + and DCX_VALIDATE is identical to using the BeginPaint function. + </p><pre><b><a name="0">:M GetWindowDC: ( hWnd -- f ) + </a></b></pre><p>The GetWindowDC method retrieves the device context (DC) for the entire + window, including title bar, menus, and scroll bars. A window device + context permits painting anywhere in a window, because the origin of + the device context is the upper-left corner of the window instead of + the client area. + </p><pre><b><a name="0">:M GetDCOrg: ( -- x y ) + </a></b></pre><p>The GetDCOrgEx function retrieves the final translation origin for a specified device + context (DC). The final translation origin specifies an offset that the system uses to + translate device coordinates into client coordinates (for coordinates in an application's + window). </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiWindowDC class Index: gdiBase.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiBase.htm,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** gdiBase.htm 31 Dec 2005 11:12:43 -0000 1.4 --- gdiBase.htm 8 Jan 2006 09:28:07 -0000 1.5 *************** *** 166,182 **** </a></b></pre><p>Check if this object is valid. </p><pre><b><a name="0">;class ! </a></b></pre><p>End of class ! </p><pre><b><a name="0">: .gdi-objects ( -- ) \ w32f sys ! </a></b></pre><p>Display GDI objects whitch are currently defined. ! </p><pre><b><a name="0">: ?IsGdiObject ( a1 -- f ) \ w32f </a></b></pre><p>Check if a1 is the address of a GdiObject. ! </p><pre><b><a name="0">: GetGdiObjectHandle { GdiObject -- handle } \ w32f </a></b></pre><p>Check if GdiObject is the address of a valid GdiObject. If so return the handle of the object. ! </p><pre><b><a name="0">: ?GdiCheck ( a1 -- a1 ) \ w32f </a></b></pre><p>Verify if a1 is the address of a GdiObject. ! If a1 isn't the address of a GdiObject and the error checking is enabled ! the application will be aborted. <br /> ! Use it for debugging only. </p><hr><p>Document $Id$</p> </body></html> --- 166,186 ---- </a></b></pre><p>Check if this object is valid. </p><pre><b><a name="0">;class ! </a></b></pre><p>End of gdiBase class ! </p><h2>Helper words outside the gdiBase class ! </h2><pre><b><a name="0">: ?IsGdiObject ( a1 -- f ) \ w32f </a></b></pre><p>Check if a1 is the address of a GdiObject. ! </p><pre><b><a name="0">: GetGdiObjectHandle { GdiObject -- handle } \ w32f </a></b></pre><p>Check if GdiObject is the address of a valid GdiObject. If so return the handle of the object. ! </p><pre><b><a name="0">: .gdi-objects ( -- ) \ w32f sys ! </a></b></pre><p>Display GDI objects whitch are currently defined. ! </p><pre><b><a name="0">: (?GdiCheck) ( a1 -- a1 ) \ w32f sys internal </a></b></pre><p>Verify if a1 is the address of a GdiObject. ! If a1 isn't the address of a GdiObject the application will be aborted. ! </p><pre><b><a name="0">: ?GdiCheck ( a1 -- a1 ) \ w32f ! </a></b></pre><p>Verify if a1 is the address of a GdiObject. ! </p><p>If a1 isn't the address of a GdiObject and the error checking is enabled ! the application will be aborted. ! </p><p>NOTE: <i> ?GdiCheck </i> does nothing in turnkey applications, it's for debugging only. </p><hr><p>Document $Id$</p> </body></html> Index: gdiMetafileDC.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiMetafileDC.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gdiMetafileDC.htm 31 Dec 2005 11:12:43 -0000 1.2 --- gdiMetafileDC.htm 8 Jan 2006 09:28:07 -0000 1.3 *************** *** 20,25 **** </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><pre><b><a name="0">:class gdiMetafileDC <super gdiDC </a></b></pre><p>Metafile device context class </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiMetafileDC class --- 20,46 ---- </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><h2>Glossary ! </h2><pre><b><a name="0">:class gdiMetafileDC <super gdiDC </a></b></pre><p>Metafile device context class + </p><pre><b><a name="0">:M SetRect: ( left top right bottom -- ) + </a></b></pre><p>Specify the dimensions (in .01-millimeter units) of the picture to be + stored in the enhanced metafile. + </p><pre><b><a name="0">:M CalcMetaRect: { left top right bottom hDC \ iWidthMM iHeightMM iWidthPels iHeightPels -- } + </a></b></pre><p>Calc the dimensions (in .01-millimeter units) of the picture to be + stored in the enhanced metafile. + </p><pre><b><a name="0">:M StartRecording: ( hRefDC -- f ) + </a></b></pre><p>Start recording of a Metafile + </p><pre><b><a name="0">:M StopRecording: ( -- f ) + </a></b></pre><p>Stop recording of a Metafile + </p><pre><b><a name="0">:M Load: ( addr len -- f ) + </a></b></pre><p>Load a metafile from a file + </p><pre><b><a name="0">:M Save: ( addr len -- f ) + </a></b></pre><p>Save the metafile in a file + </p><pre><b><a name="0">:M Destroy: ( -- ) + </a></b></pre><p>Destroy the metafile. + </p><pre><b><a name="0">:M Draw: ( left top right bottom hDestDC -- ) + </a></b></pre><p>Play the metafile in a rectangle + </p><pre><b><a name="0">:M GetMetafile: ( -- MetafileObject ) + </a></b></pre><p>Return the address of the metafile object used by this class </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiMetafileDC class Index: gdiDC.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiDC.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gdiDC.htm 31 Dec 2005 11:12:43 -0000 1.2 --- gdiDC.htm 8 Jan 2006 09:28:07 -0000 1.3 *************** *** 20,25 **** </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><pre><b><a name="0">:class gdiDC <super gdiObject </a></b></pre><p>Base device context class </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiDC class --- 20,1513 ---- </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><h2>Glossary [...1471 lines suppressed...] + The device context identified by the hdc parameter must contain a closed path. + Any Bézier curves in the path are converted to sequences of straight lines approximating the + widened curves. As such, no Bézier curves remain in the path after WidenPath is called. + </p><p><b> Missing methods: </b> + SetPixel <br /> + GetPixel <br /> + GetStretchBltMode <br /> + AlphaBlend W98 and w2k or later <br /> + GradientFill W98 and w2k or later <br /> + SetDIBitsToDevice <br /> + SetStretchBltMode <br /> + StretchBlt <br /> + StretchDIBits <br /> + TransparentBlt W98 and w2k or later <br /> + PatBlt <br /> + AngleArc <br /> + SetMiterLimit <br /> + GetMiterLimit <br /> </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiDC class Index: gdiBrush.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiBrush.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gdiBrush.htm 31 Dec 2005 11:12:43 -0000 1.2 --- gdiBrush.htm 8 Jan 2006 09:28:07 -0000 1.3 *************** *** 20,26 **** </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><h2>Glossary ! </h2><a name="gdiBrush"></a> ! <pre><b><a name="0">:class gdiBrush <super gdiObject </a></b></pre><p>Base class for all brush objects. <br /> This is an internal class of the GDI Class library. Don't use it yourself. --- 20,26 ---- </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><a name="gdiBrush"></a> ! <h2>gdiBrush class ! </h2><pre><b><a name="0">:class gdiBrush <super gdiObject </a></b></pre><p>Base class for all brush objects. <br /> This is an internal class of the GDI Class library. Don't use it yourself. *************** *** 55,59 **** </a></b></pre><p>End of gdiBrush class </p><a name="gdiSolidBrush"></a> ! <pre><b><a name="0">:class gdiSolidBrush <super gdiBrush </a></b></pre><p>Solid brush class </p><pre><b><a name="0">:M SetRValue: ( r -- ) --- 55,60 ---- </a></b></pre><p>End of gdiBrush class </p><a name="gdiSolidBrush"></a> ! <h2>gdiSolidBrush class ! </h2><pre><b><a name="0">:class gdiSolidBrush <super gdiBrush </a></b></pre><p>Solid brush class </p><pre><b><a name="0">:M SetRValue: ( r -- ) *************** *** 84,88 **** </a></b></pre><p>End of gdiSolidBrush class </p><a name="gdiHatchBrush"></a> ! <pre><b><a name="0">:class gdiHatchBrush <super gdiSolidBrush </a></b></pre><p>Hatch brush class </p><pre><b><a name="0">:M SetStyle: ( style -- ) --- 85,90 ---- </a></b></pre><p>End of gdiSolidBrush class </p><a name="gdiHatchBrush"></a> ! <h2>gdiHatchBrush class ! </h2><pre><b><a name="0">:class gdiHatchBrush <super gdiSolidBrush </a></b></pre><p>Hatch brush class </p><pre><b><a name="0">:M SetStyle: ( style -- ) *************** *** 155,159 **** </a></b></pre><p>End of gdiHatchBrush class </p><a name="gdiPatternBrush"></a> ! <pre><b><a name="0">:class gdiPatternBrush <super gdiBrush </a></b></pre><p>Pattern brush class. <br /> </p><pre><b><a name="0">:M SetBitmap: ( Bitmap -- ) --- 157,162 ---- </a></b></pre><p>End of gdiHatchBrush class </p><a name="gdiPatternBrush"></a> ! <h2>gdiPatternBrush class ! </h2><pre><b><a name="0">:class gdiPatternBrush <super gdiBrush </a></b></pre><p>Pattern brush class. <br /> </p><pre><b><a name="0">:M SetBitmap: ( Bitmap -- ) *************** *** 167,171 **** </a></b></pre><p>End of gdiPatternBrush class </p><a name="gdiDIBPatternBrush"></a> ! <pre><b><a name="0">:class gdiDIBPatternBrush <super gdiBrush </a></b></pre><p>DIB Pattern brush class </p><pre><b><a name="0">:M Create: ( lpPackedDIB iUsage -- f ) --- 170,175 ---- </a></b></pre><p>End of gdiPatternBrush class </p><a name="gdiDIBPatternBrush"></a> ! <h2>gdiDIBPatternBrush class ! </h2><pre><b><a name="0">:class gdiDIBPatternBrush <super gdiBrush </a></b></pre><p>DIB Pattern brush class </p><pre><b><a name="0">:M Create: ( lpPackedDIB iUsage -- f ) Index: gdiPen.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiPen.htm,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** gdiPen.htm 31 Dec 2005 11:12:43 -0000 1.4 --- gdiPen.htm 8 Jan 2006 09:28:07 -0000 1.5 *************** *** 20,26 **** </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><h2>Glossary ! </h2><a name="gdiPen"></a> ! <pre><b><a name="0">:class gdiPen <super gdiObject </a></b></pre><p>Class for cosmetic pen's </p><pre><b><a name="0">:M ClassInit: ( -- ) --- 20,26 ---- </i></h3><p>This GDI class library was written and placed in the Public Domain in 2005 by Dirk Busch ! </p><a name="gdiPen"></a> ! <h2>gdiPen class ! </h2><pre><b><a name="0">:class gdiPen <super gdiObject </a></b></pre><p>Class for cosmetic pen's </p><pre><b><a name="0">:M ClassInit: ( -- ) *************** *** 136,140 **** </a></b></pre><p>End of class </p><a name="gdiGeometricPen"></a> ! <pre><b><a name="0">:class gdiGeometricPen <super gdiObject </a></b></pre><p>Class for geometric pen's <br /> Note: this class isn't implemented yet --- 136,141 ---- </a></b></pre><p>End of class </p><a name="gdiGeometricPen"></a> ! <h2>gdiGeometricPen class ! </h2><pre><b><a name="0">:class gdiGeometricPen <super gdiObject </a></b></pre><p>Class for geometric pen's <br /> Note: this class isn't implemented yet |
From: Dirk B. <db...@us...> - 2006-01-08 09:28:27
|
Update of /cvsroot/win32forth/win32forth/src/gdi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4137/src/gdi Modified Files: gdiBase.f gdiBrush.f gdiDC.f gdiMetafile.f gdiMetafileDc.f gdiPen.f gdiStruct.f gdiWindowDc.f Log Message: More documentation for the GDI class library added. Index: gdiStruct.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiStruct.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** gdiStruct.f 24 Dec 2005 11:58:00 -0000 1.3 --- gdiStruct.f 8 Jan 2006 09:28:08 -0000 1.4 *************** *** 1,3 **** - \ *D doc\classes\ \ *! gdiStruct --- 1,2 ---- *************** *** 6,10 **** \ ** This GDI class library was written and placed in the Public Domain \ ** in 2005 by Dirk Busch - \ *S Glossary cr .( Loading GDI class library - Structs...) --- 5,8 ---- *************** *** 28,31 **** --- 26,30 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ *W <a name="gdiPOINT"></a> + \ *S gdiPOINT class :class gdiPOINT <super object \ *G Wrapper class for a POINT struct. *************** *** 73,80 **** \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ *W <a name="gdiCOLORREF"></a> :class gdiCOLORREF <super object ! \ *G Wrapper class for a COLORREF struct. \n ! \ ** A COLORREF value is used to specify an RGB color. ! \ ** When specifying an explicit RGB color, the COLORREF value has the following \ ** hexadecimal form: 0x00bbggrr \n \ ** The low-order byte contains a value for the relative intensity of red; --- 72,80 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ *W <a name="gdiCOLORREF"></a> + \ *S gdiCOLORREF class :class gdiCOLORREF <super object ! \ *G Wrapper class for a COLORREF struct. ! \ *P A COLORREF value is used to specify an RGB color. ! \ *P When specifying an explicit RGB color, the COLORREF value has the following \ ** hexadecimal form: 0x00bbggrr \n \ ** The low-order byte contains a value for the relative intensity of red; *************** *** 227,238 **** \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ *W <a name="gdiRGBQUAD"></a> :class gdiRGBQUAD <super gdiCOLORREF ! \ *G Wrapper class for a RGBQUAD struct \n ! \ ** The RGBQUAD structure describes a color consisting of relative ! \ ** intensities of red, green, and blue. \n ! \ ** The bmiColors member of the BITMAPINFO structure consists of an array ! \ ** of RGBQUAD structures. \n ! \ ** Note: This class doesn't have any private methods. For a description ! \ ** of the methods see the gdiCOLORREF class. \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ --- 227,239 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ *W <a name="gdiRGBQUAD"></a> + \ *S gdiRGBQUAD class :class gdiRGBQUAD <super gdiCOLORREF ! \ *G Wrapper class for a RGBQUAD struct ! \ *P The RGBQUAD structure describes a color consisting of relative ! \ ** intensities of red, green, and blue. ! \ *P The bmiColors member of the BITMAPINFO structure consists of an array ! \ ** of RGBQUAD structures. ! \ *P Note: This class doesn't have any private methods. For a description ! \ ** of the methods see the \i gdiCOLORREF \d class. \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ *************** *** 246,249 **** --- 247,251 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ *W <a name="gdiSIZE"></a> + \ *S gdiSIZE class :class gdiSIZE <super object \ *G Wrapper class for a SIZE struct *************** *** 291,294 **** --- 293,297 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ *W <a name="gdiTEXTMETRIC"></a> + \ *S gdiTEXTMETRIC class :class gdiTEXTMETRIC <super object \ *G Wrapper class for a TEXTMETRIC struct *************** *** 323,367 **** ;M ! :M SetHeight: ( n -- ) to tmHeight ;M ! :M SetAscent: ( n -- ) to tmAscent ;M ! :M SetDescent: ( n -- ) to tmDescent ;M ! :M SetInternalLeading: ( n -- ) to tmInternalLeading ;M ! :M SetExternalLeading: ( n -- ) to tmExternalLeading ;M ! :M SetAveCharWidth: ( n -- ) to tmAveCharWidth ;M ! :M SetMaxCharWidth: ( n -- ) to tmMaxCharWidth ;M ! :M SetWeight: ( n -- ) to tmWeight ;M ! :M SetOverhang: ( n -- ) to tmOverhang ;M ! :M SetDigitizedAspectX: ( n -- ) to tmDigitizedAspectX ;M ! :M SetDigitizedAspectY: ( n -- ) to tmDigitizedAspectY ;M ! :M SetFirstChar: ( n -- ) to tmFirstChar ;M ! :M SetLastChar: ( n -- ) to tmLastChar ;M ! :M SetDefaultChar: ( n -- ) to tmDefaultChar ;M ! :M SetBreakChar: ( n -- ) to tmBreakChar ;M ! :M SetItalic: ( n -- ) to tmItalic ;M ! :M SetUnderlined: ( n -- ) to tmUnderlined ;M ! :M SetStruckOut: ( n -- ) to tmStruckOut ;M ! :M SetPitchAndFamily: ( n -- ) to tmPitchAndFamily ;M ! :M SetCharSet: ( n -- ) to tmCharSet ;M ! :M GetHeight: ( -- n ) tmHeight ;M ! :M GetAscent: ( -- n ) tmAscent ;M ! :M GetDescent: ( -- n ) tmDescent ;M ! :M GetInternalLeading: ( -- n ) tmInternalLeading ;M ! :M GetExternalLeading: ( -- n ) tmExternalLeading ;M ! :M GetAveCharWidth: ( -- n ) tmAveCharWidth ;M ! :M GetMaxCharWidth: ( -- n ) tmMaxCharWidth ;M ! :M GetWeight: ( -- n ) tmWeight ;M ! :M GetOverhang: ( -- n ) tmOverhang ;M ! :M GetDigitizedAspectX: ( -- n ) tmDigitizedAspectX ;M ! :M GetDigitizedAspectY: ( -- n ) tmDigitizedAspectY ;M ! :M GetFirstChar: ( -- n ) tmFirstChar ;M ! :M GetLastChar: ( -- n ) tmLastChar ;M ! :M GetDefaultChar: ( -- n ) tmDefaultChar ;M ! :M GetBreakChar: ( -- n ) tmBreakChar ;M ! :M GetItalic: ( -- n ) tmItalic ;M ! :M GetUnderlined: ( -- n ) tmUnderlined ;M ! :M GetStruckOut: ( -- n ) tmStruckOut ;M ! :M GetPitchAndFamily: ( -- n ) tmPitchAndFamily ;M ! :M GetCharSet: ( -- n ) tmCharSet ;M :M Addr: ( -- addr ) &TEXTMETRIC ;M --- 326,488 ---- ;M ! :M SetHeight: ( n -- ) ! \ *G ! to tmHeight ;M ! :M SetAscent: ( n -- ) ! \ *G ! to tmAscent ;M ! ! :M SetDescent: ( n -- ) ! \ *G ! to tmDescent ;M ! ! :M SetInternalLeading: ( n -- ) ! \ *G ! to tmInternalLeading ;M ! ! :M SetExternalLeading: ( n -- ) ! \ *G ! to tmExternalLeading ;M ! ! :M SetAveCharWidth: ( n -- ) ! \ *G ! to tmAveCharWidth ;M ! ! :M SetMaxCharWidth: ( n -- ) ! \ *G ! to tmMaxCharWidth ;M ! ! :M SetWeight: ( n -- ) ! \ *G ! to tmWeight ;M ! ! :M SetOverhang: ( n -- ) ! \ *G ! to tmOverhang ;M ! ! :M SetDigitizedAspectX: ( n -- ) ! \ *G ! to tmDigitizedAspectX ;M ! ! :M SetDigitizedAspectY: ( n -- ) ! \ *G ! to tmDigitizedAspectY ;M ! ! :M SetFirstChar: ( n -- ) ! \ *G ! to tmFirstChar ;M ! ! :M SetLastChar: ( n -- ) ! \ *G ! to tmLastChar ;M ! ! :M SetDefaultChar: ( n -- ) ! \ *G ! to tmDefaultChar ;M ! ! :M SetBreakChar: ( n -- ) ! \ *G ! to tmBreakChar ;M ! ! :M SetItalic: ( n -- ) ! \ *G ! to tmItalic ;M ! ! :M SetUnderlined: ( n -- ) ! \ *G ! to tmUnderlined ;M ! ! :M SetStruckOut: ( n -- ) ! \ *G ! to tmStruckOut ;M ! ! :M SetPitchAndFamily: ( n -- ) ! \ *G ! to tmPitchAndFamily ;M ! ! :M SetCharSet: ( n -- ) ! \ *G ! to tmCharSet ;M ! ! :M GetHeight: ( -- n ) ! \ *G ! tmHeight ;M ! ! :M GetAscent: ( -- n ) ! \ *G ! tmAscent ;M ! ! :M GetDescent: ( -- n ) ! \ *G ! tmDescent ;M ! ! :M GetInternalLeading: ( -- n ) ! \ *G ! tmInternalLeading ;M ! ! :M GetExternalLeading: ( -- n ) ! \ *G ! tmExternalLeading ;M ! ! :M GetAveCharWidth: ( -- n ) ! \ *G ! tmAveCharWidth ;M ! ! :M GetMaxCharWidth: ( -- n ) ! \ *G ! tmMaxCharWidth ;M ! ! :M GetWeight: ( -- n ) ! \ *G ! tmWeight ;M ! ! :M GetOverhang: ( -- n ) ! \ *G ! tmOverhang ;M ! ! :M GetDigitizedAspectX: ( -- n ) ! \ *G ! tmDigitizedAspectX ;M ! ! :M GetDigitizedAspectY: ( -- n ) ! \ *G ! tmDigitizedAspectY ;M ! ! :M GetFirstChar: ( -- n ) ! \ *G ! tmFirstChar ;M ! ! :M GetLastChar: ( -- n ) ! \ *G ! tmLastChar ;M ! ! :M GetDefaultChar: ( -- n ) ! \ *G ! tmDefaultChar ;M ! ! :M GetBreakChar: ( -- n ) ! \ *G ! tmBreakChar ;M ! ! :M GetItalic: ( -- n ) ! \ *G ! tmItalic ;M ! ! :M GetUnderlined: ( -- n ) ! \ *G ! tmUnderlined ;M ! ! :M GetStruckOut: ( -- n ) ! \ *G ! tmStruckOut ;M ! ! :M GetPitchAndFamily: ( -- n ) ! \ *G ! tmPitchAndFamily ;M ! ! :M GetCharSet: ( -- n ) ! \ *G ! tmCharSet ;M :M Addr: ( -- addr ) &TEXTMETRIC ;M Index: gdiDC.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiDC.f,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** gdiDC.f 26 Dec 2005 09:28:23 -0000 1.6 --- gdiDC.f 8 Jan 2006 09:28:08 -0000 1.7 *************** *** 5,8 **** --- 5,9 ---- \ ** This GDI class library was written and placed in the Public Domain \ ** in 2005 by Dirk Busch + \ *S Glossary \ Missing: - WorldTransform support *************** *** 34,396 **** then ; [...2444 lines suppressed...] + \ ** widened curves. As such, no Bézier curves remain in the path after WidenPath is called. hObject Call WidenPath ?win-error ;M ! \ *P \b Missing methods: \d ! \ ** SetPixel \n ! \ ** GetPixel \n ! \ ** GetStretchBltMode \n ! \ ** AlphaBlend W98 and w2k or later \n ! \ ** GradientFill W98 and w2k or later \n ! \ ** SetDIBitsToDevice \n ! \ ** SetStretchBltMode \n ! \ ** StretchBlt \n ! \ ** StretchDIBits \n ! \ ** TransparentBlt W98 and w2k or later \n ! \ ** PatBlt \n ! \ ** AngleArc \n ! \ ** SetMiterLimit \n ! \ ** GetMiterLimit \n \ ---------------------------------------------------------------------- Index: gdiPen.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiPen.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** gdiPen.f 26 Dec 2005 09:28:23 -0000 1.4 --- gdiPen.f 8 Jan 2006 09:28:08 -0000 1.5 *************** *** 6,10 **** \ ** This GDI class library was written and placed in the Public Domain \ ** in 2005 by Dirk Busch - \ *S Glossary \ TODO: finish gdiGeometricPen class --- 6,9 ---- *************** *** 20,23 **** --- 19,23 ---- \ ---------------------------------------------------------------------- \ *W <a name="gdiPen"></a> + \ *S gdiPen class :class gdiPen <super gdiObject \ *G Class for cosmetic pen's *************** *** 139,143 **** \ ---------------------------------------------------------------------- \ *W <a name="gdiGeometricPen"></a> ! :class gdiGeometricPen <super gdiObject \ *G Class for geometric pen's \n --- 139,143 ---- \ ---------------------------------------------------------------------- \ *W <a name="gdiGeometricPen"></a> ! \ *S gdiGeometricPen class :class gdiGeometricPen <super gdiObject \ *G Class for geometric pen's \n Index: gdiWindowDc.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiWindowDc.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** gdiWindowDc.f 26 Dec 2005 09:28:23 -0000 1.3 --- gdiWindowDc.f 8 Jan 2006 09:28:08 -0000 1.4 *************** *** 5,8 **** --- 5,9 ---- \ ** This GDI class library was written and placed in the Public Domain \ ** in 2005 by Dirk Busch + \ *S Glossary cr .( Loading GDI class library - Window device context...) *************** *** 25,33 **** ;M - \ The ReleaseWndDC: function releases a device context (DC), freeing it - \ for use by other applications. The effect of the ReleaseDC function depends - \ on the type of DC. It frees only common and window DCs. It has no effect on - \ class or private DCs. :M Release: ( -- ) hWnd ?dup if hObject swap call ReleaseDC ?win-error --- 26,34 ---- ;M :M Release: ( -- ) + \ *G The Release: method releases a device context (DC), freeing it + \ ** for use by other applications. The effect of the ReleaseDC function depends + \ ** on the type of DC. It frees only common and window DCs. It has no effect on + \ ** class or private DCs. hWnd ?dup if hObject swap call ReleaseDC ?win-error *************** *** 48,54 **** Valid?: super ; - \ The GetDC method retrieves a handle to a display device context - \ (DC) for the client area of a specified window. :M GetDC: ( hWnd -- f ) SetWindow if hWnd call GetDC --- 49,55 ---- Valid?: super ; :M GetDC: ( hWnd -- f ) + \ *G The GetDC method retrieves a handle to a display device context + \ ** for the client area of a specified window. SetWindow if hWnd call GetDC *************** *** 57,100 **** ;M - \ The GetDCEx function retrieves a handle to a display device context - \ (DC) for the client area of a specified window or for the entire screen. - \ You can use the returned handle in subsequent GDI functions to draw in the DC. - \ - \ This function is an extension to the GetDC function, which gives an application - \ more control over how and whether clipping occurs in the client area. - \ - \ hrgnClip Specifies a clipping region that may be combined with the visible region - \ of the DC. If the value of flags is DCX_INTERSECTRGN or DCX_EXCLUDERGN, then the - \ operating system assumes ownership of the region and will automatically delete it - \ when it is no longer needed. In this case, applications should not use the region - \ not even delete it after a successful call to GetDCEx. - \ - \ flags Specifies how the DC is created. This parameter can be one or more of the - \ following values. - \ DCX_WINDOW Returns a DC that corresponds to the window rectangle rather - \ than the client rectangle. - \ DCX_CACHE Returns a DC from the cache, rather than the OWNDC or CLASSDC - \ window. Essentially overrides CS_OWNDC and CS_CLASSDC. - \ DCX_PARENTCLIP Uses the visible region of the parent window. The parent's - \ WS_CLIPCHILDREN and CS_PARENTDC style bits are ignored. The - \ origin is set to the upper-left corner of the window identified - \ by hWnd. - \ DCX_CLIPSIBLINGS Excludes the visible regions of all sibling windows above the - \ window identified by hWnd. - \ DCX_CLIPCHILDREN Excludes the visible regions of all child windows below the - \ window identified by hWnd. - \ DCX_NORESETATTRS Does not reset the attributes of this DC to the default attributes - \ when this DC is released. - \ DCX_LOCKWINDOWUPDATE Allows drawing even if there is a LockWindowUpdate call in effect - \ that would otherwise exclude this window. Used for drawing during - \ tracking. - \ DCX_EXCLUDERGN The clipping region identified by hrgnClip is excluded from the - \ visible region of the returned DC. - \ DCX_INTERSECTRGN The clipping region identified by hrgnClip is intersected with the - \ visible region of the returned DC. - \ DCX_VALIDATE When specified with DCX_INTERSECTUPDATE, causes the DC to be - \ completely validated. Using this function with both DCX_INTERSECTUPDATE - \ and DCX_VALIDATE is identical to using the BeginPaint function. :M GetDCEx: ( hrgnClip flags hWnd -- f ) SetWindow if swap hWnd call GetDCEx --- 58,98 ---- ;M :M GetDCEx: ( hrgnClip flags hWnd -- f ) + \ *G The GetDCEx method retrieves a handle to a display device context + \ ** for the client area of a specified window or for the entire screen. + \ ** You can use the returned handle in subsequent GDI functions to draw in the DC. + \ *P This function is an extension to the GetDC function, which gives an application + \ ** more control over how and whether clipping occurs in the client area. + \ *P \i hrgnClip \d Specifies a clipping region that may be combined with the visible region + \ ** of the DC. If the value of flags is DCX_INTERSECTRGN or DCX_EXCLUDERGN, then the + \ ** operating system assumes ownership of the region and will automatically delete it + \ ** when it is no longer needed. In this case, applications should not use the region + \ ** not even delete it after a successful call to GetDCEx. + \ *P \i flags \d Specifies how the DC is created. This parameter can be one or more of the + \ ** following values. + \ *P \b DCX_WINDOW \d Returns a DC that corresponds to the window rectangle rather + \ ** than the client rectangle. + \ *P \b DCX_CACHE \d Returns a DC from the cache, rather than the OWNDC or CLASSDC + \ ** window. Essentially overrides CS_OWNDC and CS_CLASSDC. + \ *P \b DCX_PARENTCLIP \d Uses the visible region of the parent window. The parent's + \ ** WS_CLIPCHILDREN and CS_PARENTDC style bits are ignored. The + \ ** origin is set to the upper-left corner of the window identified + \ ** by hWnd. + \ *P \b DCX_CLIPSIBLINGS \d Excludes the visible regions of all sibling windows above the + \ ** window identified by hWnd. + \ *P \b DCX_CLIPCHILDREN \d Excludes the visible regions of all child windows below the + \ ** window identified by hWnd. + \ *P \b DCX_NORESETATTRS \d Does not reset the attributes of this DC to the default attributes + \ ** when this DC is released. + \ *P \b DCX_LOCKWINDOWUPDATE \d Allows drawing even if there is a LockWindowUpdate call in effect + \ ** that would otherwise exclude this window. Used for drawing during + \ ** tracking. + \ *P \b DCX_EXCLUDERGN \d The clipping region identified by hrgnClip is excluded from the + \ ** visible region of the returned DC. + \ *P \b DCX_INTERSECTRGN \d The clipping region identified by hrgnClip is intersected with the + \ ** visible region of the returned DC. + \ *P \b DCX_VALIDATE \d When specified with DCX_INTERSECTUPDATE, causes the DC to be + \ ** completely validated. Using this function with both DCX_INTERSECTUPDATE + \ ** and DCX_VALIDATE is identical to using the BeginPaint function. SetWindow if swap hWnd call GetDCEx *************** *** 103,112 **** ;M - \ The GetWindowDC method retrieves the device context (DC) for the entire - \ window, including title bar, menus, and scroll bars. A window device - \ context permits painting anywhere in a window, because the origin of - \ the device context is the upper-left corner of the window instead of - \ the client area. :M GetWindowDC: ( hWnd -- f ) SetWindow if hWnd call GetWindowDC --- 101,110 ---- ;M :M GetWindowDC: ( hWnd -- f ) + \ *G The GetWindowDC method retrieves the device context (DC) for the entire + \ ** window, including title bar, menus, and scroll bars. A window device + \ ** context permits painting anywhere in a window, because the origin of + \ ** the device context is the upper-left corner of the window instead of + \ ** the client area. SetWindow if hWnd call GetWindowDC *************** *** 115,123 **** ;M - \ The GetDCOrgEx function retrieves the final translation origin for a specified device - \ context (DC). The final translation origin specifies an offset that the system uses to - \ translate device coordinates into client coordinates (for coordinates in an application's - \ window). :M GetDCOrg: ( -- x y ) Addr: POINT hObject call GetDCOrgEx ?win-error GetX: POINT GetY: POINT ;M --- 113,121 ---- ;M :M GetDCOrg: ( -- x y ) + \ *G The GetDCOrgEx function retrieves the final translation origin for a specified device + \ ** context (DC). The final translation origin specifies an offset that the system uses to + \ ** translate device coordinates into client coordinates (for coordinates in an application's + \ ** window). Addr: POINT hObject call GetDCOrgEx ?win-error GetX: POINT GetY: POINT ;M Index: gdiMetafile.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiMetafile.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** gdiMetafile.f 26 Dec 2005 09:28:23 -0000 1.4 --- gdiMetafile.f 8 Jan 2006 09:28:08 -0000 1.5 *************** *** 5,8 **** --- 5,9 ---- \ ** This GDI class library was written and placed in the Public Domain \ ** in 2005 by Dirk Busch + \ *S Glossary cr .( Loading GDI class library - Metafile...) *************** *** 16,19 **** --- 17,21 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + \ *W <a name="gdiMetafile"></a> :class gdiMetafile <super gdiObject \ *G Metafile class. This class only support's enhanced metafiles (emf) ! *************** *** 25,31 **** ;M - \ The DeleteEnhMetaFile function deletes an enhanced-format metafile - \ or an enhanced-format metafile handle. :M Destroy: ( -- ) hObject ?dup if call DeleteEnhMetaFile ?win-error --- 27,32 ---- ;M :M Destroy: ( -- ) + \ *G Destroy the metafile. hObject ?dup if call DeleteEnhMetaFile ?win-error *************** *** 34,41 **** :M SetHandle: ( hMF -- ) Destroy: self to hObject ;M - \ Create a copy of the metafile in memory :M Copy: ( -- hCopy ) hObject if 0 hObject call CopyEnhMetaFile --- 35,43 ---- :M SetHandle: ( hMF -- ) + \ *G Set the handle of the metafile. Destroy: self to hObject ;M :M Copy: ( -- hCopy ) + \ *G Create a copy of the metafile in memory hObject if 0 hObject call CopyEnhMetaFile *************** *** 46,56 **** pad place pad +null pad 1+ ; - \ Load a metafile from a file :M Load: ( addr len -- f ) FileName call GetEnhMetaFile SetHandle: self Valid?: super ;M - \ Save the metafile in a file :M Save: ( addr len -- f ) hObject if FileName hObject call CopyEnhMetaFile dup --- 48,58 ---- pad place pad +null pad 1+ ; :M Load: ( addr len -- f ) + \ *G Load a metafile from a file FileName call GetEnhMetaFile SetHandle: self Valid?: super ;M :M Save: ( addr len -- f ) + \ *G Save the metafile in a file hObject if FileName hObject call CopyEnhMetaFile dup *************** *** 61,72 **** then ;M - \ Play the metafile in a rectangle :M PlayInRect: ( left top right bottom hDestDC -- ) GetGdiObjectHandle >r SetRect: RECT AddrOf: RECT hObject r> call PlayEnhMetaFile drop ;M - \ Copy the metafile to the clipboard :M CopyToClipboard: ( -- ) hObject if null call OpenClipboard ?win-error --- 63,74 ---- then ;M :M PlayInRect: ( left top right bottom hDestDC -- ) + \ *G Play the metafile in a rectangle GetGdiObjectHandle >r SetRect: RECT AddrOf: RECT hObject r> call PlayEnhMetaFile drop ;M :M CopyToClipboard: ( -- ) + \ *G Copy the metafile to the clipboard hObject if null call OpenClipboard ?win-error *************** *** 77,85 **** then ;M - \ Get a metafile from the clipboard :M GetFromClipboard: ( -- ) ! null call OpenClipboard ?win-error ! CF_ENHMETAFILE call GetClipboardData ! call CloseClipboard ?win-error ?dup if null swap call CopyEnhMetaFile --- 79,87 ---- then ;M :M GetFromClipboard: ( -- ) ! \ *G Get a metafile from the clipboard ! null call OpenClipboard ?win-error ! CF_ENHMETAFILE call GetClipboardData ! call CloseClipboard ?win-error ?dup if null swap call CopyEnhMetaFile *************** *** 87,113 **** then ;M - \ The GetMetaFileHeader function retrieves the record containing the header - \ for the specified enhanced-format metafile. - \ pemh Pointer to an ENHMETAHEADER structure that receives the header record. - \ If this parameter is NULL, the function returns the size of the header record. - \ size Specifies the size, in bytes, of the buffer to receive the data. Only this - \ many bytes will be copied. :M GetFileHeader: ( pemh size -- n ) hObject call GetEnhMetaFileHeader ;M - \ The GetPaletteEntries function retrieves optional palette entries from the - \ specified enhanced metafile. - \ cEntries Specifies the number of entries to be retrieved from the optional - \ palette. - \ lppe Pointer to an array of PALETTEENTRY structures that receives the palette - \ colors. The array must contain at least as many structures as there are entries - \ specified by the cEntries parameter. - \ If the array pointer is NULL and the enhanced metafile contains an optional palette, - \ the return value is the number of entries in the enhanced metafile's palette; if - \ the array pointer is a valid pointer and the enhanced metafile contains an optional - \ palette, the return value is the number of entries copied; if the metafile does not - \ contain an optional palette, the return value is zero. Otherwise, the return value - \ is GDI_ERROR. :M GetPaletteEntries: ( cEntries lppe -- n ) swap hObject call GetEnhMetaFilePaletteEntries ;M --- 89,115 ---- then ;M :M GetFileHeader: ( pemh size -- n ) + \ *G The GetFileHeader: method retrieves the record containing the header + \ ** for the specified enhanced-format metafile. \n + \ ** pemh Pointer to an ENHMETAHEADER structure that receives the header record. + \ ** If this parameter is NULL, the function returns the size of the header record. \n + \ ** size Specifies the size, in bytes, of the buffer to receive the data. Only this + \ ** many bytes will be copied. hObject call GetEnhMetaFileHeader ;M :M GetPaletteEntries: ( cEntries lppe -- n ) + \ *G The GetPaletteEntries: methods retrieves optional palette entries from the + \ ** specified enhanced metafile. \n + \ ** cEntries Specifies the number of entries to be retrieved from the optional + \ ** palette. \n + \ ** lppe Pointer to an array of PALETTEENTRY structures that receives the palette + \ ** colors. The array must contain at least as many structures as there are entries + \ ** specified by the cEntries parameter. + \ ** If the array pointer is NULL and the enhanced metafile contains an optional palette, + \ ** the return value is the number of entries in the enhanced metafile's palette; if + \ ** the array pointer is a valid pointer and the enhanced metafile contains an optional + \ ** palette, the return value is the number of entries copied; if the metafile does not + \ ** contain an optional palette, the return value is zero. Otherwise, the return value + \ ** is GDI_ERROR. swap hObject call GetEnhMetaFilePaletteEntries ;M Index: gdiBase.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiBase.f,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** gdiBase.f 26 Dec 2005 09:28:23 -0000 1.6 --- gdiBase.f 8 Jan 2006 09:28:08 -0000 1.7 *************** *** 181,200 **** ;class ! \ *G End of class in-system ! \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! \ Displays the current set of defined gdi objects ! \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! : .gdi-objects ( -- ) \ w32f sys \ *G Display GDI objects whitch are currently defined. ! gdi-object-link @ ! begin dup ! while dup cell+ @ ! cell - body> .NAME ! 12 #tab space 12 ?cr ! @ ! repeat drop ; \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ --- 181,219 ---- ;class ! \ *G End of gdiBase class ! ! \ *S Helper words outside the gdiBase class ! ! : ?IsGdiObject ( a1 -- f ) \ w32f ! \ *G Check if a1 is the address of a GdiObject. ! >r gdi-object-link @ ! begin dup ! while dup cell+ @ r@ = \ match this gdi object? ! if drop r>drop true EXIT \ leave test, passed ! then @ ! repeat drop ! r>drop false ; ! ! : GetGdiObjectHandle { GdiObject -- handle } \ w32f ! \ *G Check if GdiObject is the address of a valid GdiObject. ! \ ** If so return the handle of the object. ! GdiObject ?IsGdiObject ! if GetHandle: GdiObject ! else GdiObject ! then ; in-system ! : .gdi-objects ( -- ) \ w32f sys \ *G Display GDI objects whitch are currently defined. ! gdi-object-link @ ! begin dup ! while dup cell+ @ ! cell - body> .NAME ! 12 #tab space 12 ?cr ! @ ! repeat drop ; ! ! in-application \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ *************** *** 203,244 **** \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ - in-application - - : ?IsGdiObject ( a1 -- f ) \ w32f - \ *G Check if a1 is the address of a GdiObject. - >r gdi-object-link @ - begin dup - while dup cell+ @ r@ = \ match this gdi object? - if drop r>drop true EXIT \ leave test, passed - then @ - repeat drop - r>drop false ; - - : GetGdiObjectHandle { GdiObject -- handle } \ w32f - \ *G Check if GdiObject is the address of a valid GdiObject. - \ ** If so return the handle of the object. - GdiObject ?IsGdiObject - if GetHandle: GdiObject - else GdiObject - then ; - in-system ! : (?GdiCheck) ( a1 -- a1 ) \ w32f sys internal ! \ Verify if a1 is the address of a GdiObject. ! \ If a1 isn't the address of a GdiObject the application will be aborted. ! dup ?IsGdiObject 0= ! if forth-io .rstack ! true Abort" This is not a GDI Object!" ! then ; in-application ! : ?GdiCheck ( a1 -- a1 ) \ w32f \ *G Verify if a1 is the address of a GdiObject. ! \ ** If a1 isn't the address of a GdiObject and the error checking is enabled ! \ ** the application will be aborted. \n ! \ ** Use it for debugging only. ! TURNKEYED? ?win-error-enabled 0= or ?EXIT \ leave if error checking is not enabled \in-system-ok (?GdiCheck) ; --- 222,243 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ in-system ! : (?GdiCheck) ( a1 -- a1 ) \ w32f sys internal ! \ *G Verify if a1 is the address of a GdiObject. ! \ ** If a1 isn't the address of a GdiObject the application will be aborted. ! dup ?IsGdiObject 0= ! if forth-io .rstack ! true Abort" This is not a GDI Object!" ! then ; in-application ! : ?GdiCheck ( a1 -- a1 ) \ w32f \ *G Verify if a1 is the address of a GdiObject. ! \ *P If a1 isn't the address of a GdiObject and the error checking is enabled ! \ ** the application will be aborted. ! \ *P NOTE: \i ?GdiCheck \d does nothing in turnkey applications, it's for debugging only. ! TURNKEYED? ?win-error-enabled 0= or ?EXIT \ leave if error checking is not enabled \in-system-ok (?GdiCheck) ; Index: gdiMetafileDc.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiMetafileDc.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gdiMetafileDc.f 26 Dec 2005 09:28:23 -0000 1.2 --- gdiMetafileDc.f 8 Jan 2006 09:28:08 -0000 1.3 *************** *** 5,8 **** --- 5,9 ---- \ ** This GDI class library was written and placed in the Public Domain \ ** in 2005 by Dirk Busch + \ *S Glossary cr .( Loading GDI class library - Metafile device context...) *************** *** 23,29 **** gdiMetafile Metafile - \ Specify the dimensions (in .01-millimeter units) of the picture to be - \ stored in the enhanced metafile. :M SetRect: ( left top right bottom -- ) SetRect: MetaRect ;M --- 24,30 ---- gdiMetafile Metafile :M SetRect: ( left top right bottom -- ) + \ *G Specify the dimensions (in .01-millimeter units) of the picture to be + \ ** stored in the enhanced metafile. SetRect: MetaRect ;M *************** *** 34,40 **** ;M - \ Calc the dimensions (in .01-millimeter units) of the picture to be - \ stored in the enhanced metafile. :M CalcMetaRect: { left top right bottom hDC \ iWidthMM iHeightMM iWidthPels iHeightPels -- } hDC GetGdiObjectHandle to hDC --- 35,41 ---- ;M :M CalcMetaRect: { left top right bottom hDC \ iWidthMM iHeightMM iWidthPels iHeightPels -- } + \ *G Calc the dimensions (in .01-millimeter units) of the picture to be + \ ** stored in the enhanced metafile. hDC GetGdiObjectHandle to hDC *************** *** 60,65 **** ;M - \ Start recording of a Metafile :M StartRecording: ( hRefDC -- f ) GetGdiObjectHandle >r >r --- 61,66 ---- ;M :M StartRecording: ( hRefDC -- f ) + \ *G Start recording of a Metafile GetGdiObjectHandle >r >r *************** *** 78,83 **** ;M - \ Stop recording of a Metafile :M StopRecording: ( -- f ) hObject ?dup if call CloseEnhMetaFile dup SetHandle: Metafile 0<> --- 79,84 ---- ;M :M StopRecording: ( -- f ) + \ *G Stop recording of a Metafile hObject ?dup if call CloseEnhMetaFile dup SetHandle: Metafile 0<> *************** *** 86,111 **** then ;M - \ Load a metafile from a file :M Load: ( addr len -- f ) StopRecording: self drop Load: Metafile ;M - \ Save the metafile in a file :M Save: ( addr len -- f ) StopRecording: self drop Save: Metafile ;M - \ The DeleteEnhMetaFile function deletes an enhanced-format metafile - \ or an enhanced-format metafile handle. :M Destroy: ( -- ) StopRecording: self drop Destroy: Metafile ;M - \ Play the metafile in a rectangle :M Draw: ( left top right bottom hDestDC -- ) PlayInRect: Metafile ;M - \ Return the address of the metafile object used by this class :M GetMetafile: ( -- MetafileObject ) Metafile ;M ;class --- 87,111 ---- then ;M :M Load: ( addr len -- f ) + \ *G Load a metafile from a file StopRecording: self drop Load: Metafile ;M :M Save: ( addr len -- f ) + \ *G Save the metafile in a file StopRecording: self drop Save: Metafile ;M :M Destroy: ( -- ) + \ *G Destroy the metafile. StopRecording: self drop Destroy: Metafile ;M :M Draw: ( left top right bottom hDestDC -- ) + \ *G Play the metafile in a rectangle PlayInRect: Metafile ;M :M GetMetafile: ( -- MetafileObject ) + \ *G Return the address of the metafile object used by this class Metafile ;M ;class Index: gdiBrush.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiBrush.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** gdiBrush.f 31 Dec 2005 11:12:44 -0000 1.4 --- gdiBrush.f 8 Jan 2006 09:28:08 -0000 1.5 *************** *** 5,9 **** \ ** This GDI class library was written and placed in the Public Domain \ ** in 2005 by Dirk Busch - \ *S Glossary cr .( Loading GDI class library - Brush...) --- 5,8 ---- *************** *** 19,22 **** --- 18,22 ---- \ *W <a name="gdiBrush"></a> + \ *S gdiBrush class :class gdiBrush <super gdiObject \ *G Base class for all brush objects. \n *************** *** 74,77 **** --- 74,78 ---- \ ---------------------------------------------------------------------- \ *W <a name="gdiSolidBrush"></a> + \ *S gdiSolidBrush class :class gdiSolidBrush <super gdiBrush \ *G Solid brush class *************** *** 139,142 **** --- 140,144 ---- \ ---------------------------------------------------------------------- \ *W <a name="gdiHatchBrush"></a> + \ *S gdiHatchBrush class :class gdiHatchBrush <super gdiSolidBrush \ *G Hatch brush class *************** *** 189,192 **** --- 191,195 ---- \ ---------------------------------------------------------------------- \ *W <a name="gdiPatternBrush"></a> + \ *S gdiPatternBrush class :class gdiPatternBrush <super gdiBrush \ *G Pattern brush class. \n *************** *** 221,224 **** --- 224,228 ---- \ ---------------------------------------------------------------------- \ *W <a name="gdiDIBPatternBrush"></a> + \ *S gdiDIBPatternBrush class :class gdiDIBPatternBrush <super gdiBrush \ *G DIB Pattern brush class |
From: Dirk B. <db...@us...> - 2006-01-08 09:28:23
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4137/doc Modified Files: p-classes.htm Log Message: More documentation for the GDI class library added. Index: p-classes.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-classes.htm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** p-classes.htm 31 Dec 2005 11:12:43 -0000 1.3 --- p-classes.htm 8 Jan 2006 09:28:08 -0000 1.4 *************** *** 61,64 **** --- 61,66 ---- <li><a href="./classes/gdiStruct.htm#gdiSIZE">gdiSIZE</a> Wrapper class for a SIZE struct.</li> <li><a href="./classes/gdiStruct.htm#gdiTEXTMETRIC">gdiTEXTMETRIC</a> Wrapper class for a TEXTMETRIC struct.</li> + </ul> + <ul> <li><a href="./classes/gdiBase.htm">gdiBase</a> Base class for GDI objects.</li> <li><a href="./classes/gdiPen.htm#gdiPen">gdiPen</a> Class for cosmetic pen's.</li> *************** *** 69,74 **** <li><a href="./classes/gdiBrush.htm#gdiPatternBrush">gdiPatternBrush</a> Pattern brush class.</li> <li><a href="./classes/gdiBrush.htm#gdiDIBPatternBrush">gdiDIBPatternBrush</a> DIB Pattern brush class.</li> ! <li><a href="./classes/gdiFont.htm#gdiFont">gdiFont</a> Font class.</li> </ul> <hr> --- 71,92 ---- <li><a href="./classes/gdiBrush.htm#gdiPatternBrush">gdiPatternBrush</a> Pattern brush class.</li> <li><a href="./classes/gdiBrush.htm#gdiDIBPatternBrush">gdiDIBPatternBrush</a> DIB Pattern brush class.</li> ! <li><a href="./classes/gdiFont.htm">gdiFont</a> Font class.</li> ! <li><a href="./classes/gdiBitmap.htm">gdiBitmap</a> Bitmap class.</li> ! <li><a href="./classes/gdiMetafile.htm">gdiMetafile</a> Enhanced metafile class.</li> ! <li><a href="./classes/gdiDC.htm">gdiDC</a> Device context class.</li> ! <li><a href="./classes/gdiWindowDC.htm">gdiWindowDC</a> Window device context class.</li> ! <li><a href="./classes/gdiMetafileDC.htm">gdiMetafileDC</a> Metafile device context class.</li> ! </ul> ! ! <p> There are some other 'old' classes in Win32Forth that are dealing with the GDI:</p> ! <ul> ! <li><b>ColorObject</b> Class for color objects.</li> ! <li><b>ExtColorObject</b> Class for extended color objects.</li> ! <li><b>HatchColorObject</b> Class for hatch color objects.</li> ! <li><b>Font</b> Class for fonts.</li> ! <li><b>WinDC</b> Device context class for windows.</li> ! <li><b>WinPrinter</b> Device context class for printing.</li> </ul> + <p>All these classes are rewritten to use the GDI class library.</p> <hr> |
From: Dirk B. <db...@us...> - 2006-01-08 09:25:55
|
Update of /cvsroot/win32forth/win32forth/apps/SciEdit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3744/apps/SciEdit Modified Files: CommandID.f EdCommand.f EdMenu.f EdVersion.f Main.f ScintillaHyperMDI.f ScintillaMDI.f Log Message: SciEdit update: - New "DexH" menu. - Moved "Glossary" command into the DexH menu. - New "Bold" command (ALT+B) that turns the selected text into bold style for DexH. - New "Italic" command (ALT+I) that turns the selected text into italic style for DexH. - and fixed some bugs Index: EdVersion.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/EdVersion.f,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** EdVersion.f 8 Dec 2005 17:27:12 -0000 1.7 --- EdVersion.f 8 Jan 2006 09:25:36 -0000 1.8 *************** *** 1,5 **** \ $Id$ ! 10125 value sciedit_version# \ Version numbers: v.ww.rr --- 1,5 ---- \ $Id$ ! 10126 value sciedit_version# \ Version numbers: v.ww.rr *************** *** 60,187 **** \ changes for Version 1.01.02 ! dbu Samstag, August 14 2004 ! - New "View" and "Options" menu ! - New Menu entry "Save all Files before Compile" in the "Options" menu. ! If this option is active all open source files will be saved before ! the compilation of the active file. If this option is inactive only ! the active file will be saved ! - Enhanced toolbar \ changes for Version 1.01.03 ! dbu Sonntag, August 15 2004 ! - New menu Entry "Colorize source" in the "View" menu to turn colorization ! on and off (new w32fScintilla.dll Version 1.6.1.4 is needed). dbu Montag, August 16 2004 ! - New menu Entry "Display Line numers" in the "View" menu (thank's ! Erza to tell me how it works). \ changes for Version 1.01.04 dbu Samstag, August 21 2004 ! - New Menu entry "Customize toolbar..." in the "Options" menu ! - made debug support work ! - "Search..." and "Find text in Files..." now grab the highlighted text \ changes for Version 1.01.05 dbu Sonntag, August 22 2004 ! - New "Close file" and "Close all" buttons in the toolbar ! - enable/disableing of toolbar buttos and menu entries corrected \ changes for Version 1.01.06 dbu Samstag, August 28 2004 ! - New Menu entries "Line cut...", "Line copy", "Line transpose", ! "Line duplicate", "Lowercase" and "Uppercase" in the "Edit" menu. ! - Little enhancement of the debug support \ changes for Version 1.01.07 dbu Sonntag, August 29 2004 ! - Added a recent file list to the File menu (Thank's Rod for the code) \ changes for Version 1.01.08 dbu Samstag, September 04 2004 ! - Fixed some Win98 bug's (I hope) as Rod sugested ! - Deleted some duplicated command id's (thank's Prad) ! - Removed the obsolate Download stuff ! - Changed the "Open Source files" and "The open HTML Files" dialog's ! to allow multiple selection of files ! - Fixed a bug in the recent file list (HTML files were opend for editing ! and not for displaying HTML) ! - Enabled Drag & Drop from windows explorer to open files. ! - Changed to open only one copy of a file. If you try to open a second ! copy the window of first one is activated and it beep's one time. ! - New menu entry "Set Tab options..." in the options menu. It opens ! a dialog were you can set the tab size (between 1 and 8 chars) and ! if you want to insert real tab's or spaces (soft tab's) \ changes for Version 1.01.09 dbu Sonntag, September 05 2004 ! - Fixed a bug in the Class browser; once it was closed it couldn't be ! opend again ! - New entries in the "Options" menu to hide the Toolbar and/or Statusbar ! of the main window dbu Montag, September 06 2004 ! - Added a Statusbar to the Class browser window to tell the user how ! to open the source for a definition ! - In Brwose mode the statusbar of the main window now displays a text ! how to use the browse mode. \ changes for Version 1.01.10 dbu Dienstag, September 07 2004 ! - New menu entry "Open Highlighted File" in "File" menu (it need's some more work) \ changes for Version 1.01.11 dbu Donnerstag, September 09 2004 ! - Fixed the WM_COMMAND handling problems (I hope) ! - Fixed the NewFile: method of the EditorChild class whitch was complety broken \ changes for Version 1.01.12 dbu Samstag, September 11 2004 ! - Accelerator table support rewritten \ changes for Version 1.01.13 dbu Samstag, September 11 2004 ! Sonntag, September 12 2004 ! - WM_COMMAND handling reworked (I hope that it's finaly working now) \ changes for Version 1.01.14 dbu Dienstag, September 14 2004 ! - Fixed the display of the filename in the Titlebar \ changes for Version 1.01.15 dbu Donnerstag, September 16 2004 ! - Fixed loading of files \ changes for Version 1.01.16 dbu Samstag, September 18 2004 ! - Fixed some smal bugs in the colorization support \ changes for Version 1.01.17 dbu Samstag, Oktober 02 2004 ! - SciEditMDI now has it's own Icon's for the Main- and the MDI windows \ changes for Version 1.01.18 dbu Mittwoch, Oktober 06 2004 ! - Changed to use Rod's AcceleratorTables.f instead of my Accel.f \ changes for Version 1.01.19 dbu Montag, November 08 2004 ! - Update w32fScintilla.dll to use the latest Scintilla Version 1.62 ! - File>Exit terminated SciEdit without saving changed files; fixed \ changes for Version 1.01.20 dbu Samstag, Dezember 04 2004 ! - New Button's "Back" and "Forward" added to the toolbar ! used to navigate within HTML documents and for browseing within ! the source files (Hyperlinking) \ changes for Version 1.01.21 dbu Sonntag, Dezember 26 2004 ! - New command "Help for highlighted Win32-API function" added to ! the help menu. The Win32-SDK help file is needed for this command. ! If you don't have a copy you can download it from: ! http://www.borland.com/devsupport/borlandcpp/patches/BC52HLP1.ZIP ! Don't forget to copy the win32.hlp file into the 'doc\hlp' folder of ! your Win32Forth version \ changes for Version 1.01.22 --- 60,187 ---- \ changes for Version 1.01.02 ! dbu Samstag, August 14 2004 ! - New "View" and "Options" menu ! - New Menu entry "Save all Files before Compile" in the "Options" menu. ! If this option is active all open source files will be saved before ! the compilation of the active file. If this option is inactive only ! the active file will be saved ! - Enhanced toolbar \ changes for Version 1.01.03 ! dbu Sonntag, August 15 2004 ! - New menu Entry "Colorize source" in the "View" menu to turn colorization ! on and off (new w32fScintilla.dll Version 1.6.1.4 is needed). dbu Montag, August 16 2004 ! - New menu Entry "Display Line numers" in the "View" menu (thank's ! Erza to tell me how it works). \ changes for Version 1.01.04 dbu Samstag, August 21 2004 ! - New Menu entry "Customize toolbar..." in the "Options" menu ! - made debug support work ! - "Search..." and "Find text in Files..." now grab the highlighted text \ changes for Version 1.01.05 dbu Sonntag, August 22 2004 ! - New "Close file" and "Close all" buttons in the toolbar ! - enable/disableing of toolbar buttos and menu entries corrected \ changes for Version 1.01.06 dbu Samstag, August 28 2004 ! - New Menu entries "Line cut...", "Line copy", "Line transpose", ! "Line duplicate", "Lowercase" and "Uppercase" in the "Edit" menu. ! - Little enhancement of the debug support \ changes for Version 1.01.07 dbu Sonntag, August 29 2004 ! - Added a recent file list to the File menu (Thank's Rod for the code) \ changes for Version 1.01.08 dbu Samstag, September 04 2004 ! - Fixed some Win98 bug's (I hope) as Rod sugested ! - Deleted some duplicated command id's (thank's Prad) ! - Removed the obsolate Download stuff ! - Changed the "Open Source files" and "The open HTML Files" dialog's ! to allow multiple selection of files ! - Fixed a bug in the recent file list (HTML files were opend for editing ! and not for displaying HTML) ! - Enabled Drag & Drop from windows explorer to open files. ! - Changed to open only one copy of a file. If you try to open a second ! copy the window of first one is activated and it beep's one time. ! - New menu entry "Set Tab options..." in the options menu. It opens ! a dialog were you can set the tab size (between 1 and 8 chars) and ! if you want to insert real tab's or spaces (soft tab's) \ changes for Version 1.01.09 dbu Sonntag, September 05 2004 ! - Fixed a bug in the Class browser; once it was closed it couldn't be ! opend again ! - New entries in the "Options" menu to hide the Toolbar and/or Statusbar ! of the main window dbu Montag, September 06 2004 ! - Added a Statusbar to the Class browser window to tell the user how ! to open the source for a definition ! - In Brwose mode the statusbar of the main window now displays a text ! how to use the browse mode. \ changes for Version 1.01.10 dbu Dienstag, September 07 2004 ! - New menu entry "Open Highlighted File" in "File" menu (it need's some more work) \ changes for Version 1.01.11 dbu Donnerstag, September 09 2004 ! - Fixed the WM_COMMAND handling problems (I hope) ! - Fixed the NewFile: method of the EditorChild class whitch was complety broken \ changes for Version 1.01.12 dbu Samstag, September 11 2004 ! - Accelerator table support rewritten \ changes for Version 1.01.13 dbu Samstag, September 11 2004 ! Sonntag, September 12 2004 ! - WM_COMMAND handling reworked (I hope that it's finaly working now) \ changes for Version 1.01.14 dbu Dienstag, September 14 2004 ! - Fixed the display of the filename in the Titlebar \ changes for Version 1.01.15 dbu Donnerstag, September 16 2004 ! - Fixed loading of files \ changes for Version 1.01.16 dbu Samstag, September 18 2004 ! - Fixed some smal bugs in the colorization support \ changes for Version 1.01.17 dbu Samstag, Oktober 02 2004 ! - SciEditMDI now has it's own Icon's for the Main- and the MDI-windows \ changes for Version 1.01.18 dbu Mittwoch, Oktober 06 2004 ! - Changed to use Rod's AcceleratorTables.f instead of my Accel.f \ changes for Version 1.01.19 dbu Montag, November 08 2004 ! - Update w32fScintilla.dll to use the latest Scintilla Version 1.62 ! - File>Exit terminated SciEdit without saving changed files; fixed \ changes for Version 1.01.20 dbu Samstag, Dezember 04 2004 ! - New Button's "Back" and "Forward" added to the toolbar ! used to navigate within HTML documents and for browseing within ! the source files (Hyperlinking) \ changes for Version 1.01.21 dbu Sonntag, Dezember 26 2004 ! - New command "Help for highlighted Win32-API function" added to ! the help menu. The Win32-SDK help file is needed for this command. ! If you don't have a copy you can download it from: ! http://www.borland.com/devsupport/borlandcpp/patches/BC52HLP1.ZIP ! Don't forget to copy the win32.hlp file into the 'doc\hlp' folder of ! your Win32Forth version \ changes for Version 1.01.22 *************** *** 212,213 **** --- 212,221 ---- - New "Glossary" command (ALT+G), that turns the selected lines into a glossary entry (for DexH) + + \ changes for Version 1.01.26 + dbu Sonntag, Januar 08 2006 + - New "DexH" menu. + - Moved "Glossary" command into the DexH menu. + - New "Bold" command (ALT+B) that turns the selected text into bold style for DexH. + - New "Italic" command (ALT+I) that turns the selected text into italic style for DexH. + - Fixed some bugs Index: EdMenu.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/EdMenu.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** EdMenu.f 8 Dec 2005 17:27:12 -0000 1.5 --- EdMenu.f 8 Jan 2006 09:25:36 -0000 1.6 *************** *** 70,75 **** :MenuItem me_lower "&Lowercase\tCtrl+U" IDM_LOWERCASE DoCommand ; :MenuItem me_upper "&Uppercase\tCtrl+Shift+U" IDM_UPPERCASE DoCommand ; ! MenuSeparator :MenuItem me_glossaryblock "&Glossary\tAlt+G" IDM_GLOSSARY_BLOCK DoCommand ; Popup "&View" --- 70,78 ---- :MenuItem me_lower "&Lowercase\tCtrl+U" IDM_LOWERCASE DoCommand ; :MenuItem me_upper "&Uppercase\tCtrl+Shift+U" IDM_UPPERCASE DoCommand ; ! ! Popup "&DexH" :MenuItem me_glossaryblock "&Glossary\tAlt+G" IDM_GLOSSARY_BLOCK DoCommand ; + :MenuItem me_glossarybold "&Bold\tAlt+B" IDM_GLOSSARY_BOLD DoCommand ; + :MenuItem me_glossaryitalic "&Italic\tAlt+I" IDM_GLOSSARY_ITALIC DoCommand ; Popup "&View" *************** *** 130,134 **** EndBar ! 5 constant WINDOW-MENU : GetFileType ( -- n ) --- 133,137 ---- EndBar ! 6 constant WINDOW-MENU : GetFileType ( -- n ) *************** *** 144,152 **** GetFileType FT_HTML = ; : IsAnsWordSelected? ( -- f ) ! pad GetSelText: ActiveChild ! if pad zcount BL skip BL -TRAILCHARS IsAnsWord? ! else false then ; --- 147,169 ---- GetFileType FT_HTML = ; + : NoTextToPad ( -- addr len ) \ copy empty string to PAD + 0 pad ! pad count ; + + : SelTextToPad ( -- addr len ) \ copy the selected text into PAD + \ default no Text + ActiveChild 0<> + 0 GetSelText: ActiveChild MAXSTRING CHARS < and \ check size of selected text + if pad GetSelText: ActiveChild + if pad zcount BL skip -trailing 10 -TRAILCHARS 13 -TRAILCHARS + else NoTextToPad + then + else NoTextToPad + then ; + : IsAnsWordSelected? ( -- f ) ! SelTextToPad ?dup ! if BL skip BL -TRAILCHARS IsAnsWord? ! else drop false then ; *************** *** 181,185 **** --- 198,206 ---- dup Enable: me_linetranspose dup Enable: me_lineduplicate + + \ DexH menu dup Enable: me_glossaryblock + dup Enable: me_glossarybold + dup Enable: me_glossaryitalic \ View menu *************** *** 241,245 **** --- 262,270 ---- GetTextLength: ActiveChild Enable: me_linetranspose GetTextLength: ActiveChild Enable: me_lineduplicate + + \ DexH menu ?Selection: ActiveChild Enable: me_glossaryblock + ?Selection: ActiveChild Enable: me_glossarybold + ?Selection: ActiveChild Enable: me_glossaryitalic \ View menu Index: EdCommand.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/EdCommand.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** EdCommand.f 8 Dec 2005 17:27:12 -0000 1.5 --- EdCommand.f 8 Jan 2006 09:25:36 -0000 1.6 *************** *** 22,38 **** MultiFileOpenDialog HtmlFileOpenDialog "Open HTML Files" "HTML Files (*.htm,*.html)|*.htm;*.html|All Files (*.*)|*.*" - : NoTextToPad ( -- addr len ) \ copy empty string to PAD - 0 pad ! pad count ; - - : SelTextToPad ( -- addr len ) \ copy the selected text into PAD - \ default no Text - ActiveChild 0<> - if pad GetSelText: ActiveChild - if pad zcount BL skip -trailing 10 -TRAILCHARS 13 -TRAILCHARS - else NoTextToPad - then - else NoTextToPad - then ; - \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ Define the Menu command --- 22,25 ---- *************** *** 44,56 **** 0 value #new : NewSourceFile ( -- ) ! s" New File " temp$ place #new (.) temp$ +place ! 1 +to #new ! NewEditWnd NewFile: ActiveChild ! ; IDM_NEW_SOURCE_FILE SetCommand ! : Close ( -- ) ! GetHandle: ActiveChild CloseChild: Frame ! GetActive: Frame 0= if 0 to ActiveChild then Update ! ; IDM_CLOSE SetCommand : OpenSourceFile ( -- ) --- 31,43 ---- 0 value #new : NewSourceFile ( -- ) ! s" New File " temp$ place #new (.) temp$ +place ! 1 +to #new ! NewEditWnd NewFile: ActiveChild ! ; IDM_NEW_SOURCE_FILE SetCommand ! : Close ( -- ) ! GetHandle: ActiveChild CloseChild: Frame ! GetActive: Frame 0= if 0 to ActiveChild then Update ! ; IDM_CLOSE SetCommand : OpenSourceFile ( -- ) *************** *** 62,83 **** : UpdateFileName ( -- ) ! GetFileName: ActiveChild count 2dup ! temp$ place SetFileName: ActiveChild ; : SaveSourceFile ( -- ) ! IsEditWnd? ! if SaveFile: ActiveChild ! UpdateFileName Update ! else beep ! then ; IDM_SAVE SetCommand : SaveSourceFileAs ( -- ) ! SaveFileAs: ActiveChild ! UpdateFileName Update ! ; IDM_SAVE_AS SetCommand : SaveAllSourceFiles ( -- ) ! 0 0 WM_SAVE SendMessageToAllChildren: Frame ! UpdateFileName Update ; IDM_SAVE_ALL SetCommand : ReloadSourceFile ( -- ) --- 49,70 ---- : UpdateFileName ( -- ) ! GetFileName: ActiveChild count 2dup ! temp$ place SetFileName: ActiveChild ; : SaveSourceFile ( -- ) ! IsEditWnd? ! if SaveFile: ActiveChild ! UpdateFileName Update ! else beep ! then ; IDM_SAVE SetCommand : SaveSourceFileAs ( -- ) ! SaveFileAs: ActiveChild ! UpdateFileName Update ! ; IDM_SAVE_AS SetCommand : SaveAllSourceFiles ( -- ) ! 0 0 WM_SAVE SendMessageToAllChildren: Frame ! UpdateFileName Update ; IDM_SAVE_ALL SetCommand : ReloadSourceFile ( -- ) *************** *** 85,109 **** : OpenHtmlFile ( -- ) ! Gethandle: Frame Start: HtmlFileOpenDialog c@ ! if #SelectedFiles: HtmlFileOpenDialog 0 ! do i GetFile: HtmlFileOpenDialog (OpenHtmlFile) ! loop ! then ; IDM_OPEN_HTML_FILE SetCommand ! : ExitApp ( -- ) ! 0 0 WM_CLOSE Gethandle: Frame call SendMessage ! 0= if call PostQuitMessage drop then ; IDM_EXIT SetCommand : OpenRecentFile ( File$ -- ) ! count 2dup IsHtmlFile? ! if (OpenHtmlFile) ! else (OpenSourceFile) ! then ; IDM_OPEN_RECENT_FILE SetCommand : OpenHighlightedFile ( -- ) ! IsEditWnd? ! if OpenHighlightedFile: ActiveChild update ! else beep ! then ; IDM_OPEN_HIGHLIGHTED_FILE SetCommand \ -------------------------------------------------------------------------- --- 72,96 ---- : OpenHtmlFile ( -- ) ! Gethandle: Frame Start: HtmlFileOpenDialog c@ ! if #SelectedFiles: HtmlFileOpenDialog 0 ! do i GetFile: HtmlFileOpenDialog (OpenHtmlFile) ! loop ! then ; IDM_OPEN_HTML_FILE SetCommand ! : ExitApp ( -- ) ! 0 0 WM_CLOSE Gethandle: Frame call SendMessage ! 0= if call PostQuitMessage drop then ; IDM_EXIT SetCommand : OpenRecentFile ( File$ -- ) ! count 2dup IsHtmlFile? ! if (OpenHtmlFile) ! else (OpenSourceFile) ! then ; IDM_OPEN_RECENT_FILE SetCommand : OpenHighlightedFile ( -- ) ! IsEditWnd? ! if OpenHighlightedFile: ActiveChild update ! else beep ! then ; IDM_OPEN_HIGHLIGHTED_FILE SetCommand \ -------------------------------------------------------------------------- *************** *** 147,151 **** \ move selected text into find-buf ! ActiveChild 0<> if SelTextToPad ?dup if Find-buf place --- 134,138 ---- \ move selected text into find-buf ! IsEditWnd? if SelTextToPad ?dup if Find-buf place *************** *** 182,188 **** UnCommentBlock: ActiveChild Update ; IDM_UNCOMMENT_BLOCK SetCommand - : GlossaryBlock ( -- ) - GlossaryBlock: ActiveChild Update ; IDM_GLOSSARY_BLOCK SetCommand - : mcLowercase ( -- ) SCI_LOWERCASE KeyCommand: CurrentWindow Update ; IDM_LOWERCASE SetCommand --- 169,172 ---- *************** *** 198,208 **** : LineCopy ( -- ) ! SCI_LINECOPY KeyCommand: CurrentWindow Update ; IDM_LINECOPY SetCommand : LineTranspose ( -- ) ! SCI_LINETRANSPOSE KeyCommand: CurrentWindow Update ; IDM_LINETRANSPOSE SetCommand : LineDuplicate ( -- ) ! SCI_LINEDUPLICATE KeyCommand: CurrentWindow Update ; IDM_LINEDUPLICATE SetCommand \ -------------------------------------------------------------------------- --- 182,205 ---- : LineCopy ( -- ) ! SCI_LINECOPY KeyCommand: CurrentWindow Update ; IDM_LINECOPY SetCommand : LineTranspose ( -- ) ! SCI_LINETRANSPOSE KeyCommand: CurrentWindow Update ; IDM_LINETRANSPOSE SetCommand : LineDuplicate ( -- ) ! SCI_LINEDUPLICATE KeyCommand: CurrentWindow Update ; IDM_LINEDUPLICATE SetCommand ! ! \ -------------------------------------------------------------------------- ! \ DexH menu ! \ -------------------------------------------------------------------------- ! ! : GlossaryBlock ( -- ) ! GlossaryBlock: ActiveChild Update ; IDM_GLOSSARY_BLOCK SetCommand ! ! : GlossaryBold ( -- ) ! GlossaryBold: ActiveChild Update ; IDM_GLOSSARY_BOLD SetCommand ! ! : GlossaryItalic ( -- ) ! GlossaryItalic: ActiveChild Update ; IDM_GLOSSARY_ITALIC SetCommand \ -------------------------------------------------------------------------- Index: ScintillaHyperMDI.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/ScintillaHyperMDI.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ScintillaHyperMDI.f 31 Aug 2005 17:03:19 -0000 1.3 --- ScintillaHyperMDI.f 8 Jan 2006 09:25:36 -0000 1.4 *************** *** 140,144 **** :M Hyper>: { \ SelBuf$ -- } \ Hyperlink to selected word ! 2048 LocalAlloc: SelBuf$ SelBuf$ GetSelText: ChildWindow if SelBuf$ HyperWord --- 140,144 ---- :M Hyper>: { \ SelBuf$ -- } \ Hyperlink to selected word ! 0 GetSelText: ChildWindow LocalAlloc: SelBuf$ SelBuf$ GetSelText: ChildWindow if SelBuf$ HyperWord Index: Main.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/Main.f,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Main.f 8 Dec 2005 17:27:12 -0000 1.13 --- Main.f 8 Jan 2006 09:25:36 -0000 1.14 *************** *** 461,480 **** max-path 2 + bytes FileName ! :M Start: ( parent -- ) ! New> HtmlDisplayControl to ChildWindow ! self to ChildParent ! 0 FileName ! ! Start: super ! ;M :M On_Close: ( -- ) On_Close: super self ActiveChild = if 0 to ActiveChild then ! UpdateStatusBar ! EnableToolbar ;M :M GetFileName: ( -- addr ) ! FileName ;M :M SetWindowTitle: ( -- ) --- 461,484 ---- max-path 2 + bytes FileName ! :M Start: ( parent -- ) ! New> HtmlDisplayControl to ChildWindow ! self to ChildParent ! 0 FileName ! ! Start: super ! ;M :M On_Close: ( -- ) On_Close: super self ActiveChild = if 0 to ActiveChild then ! UpdateStatusBar ! EnableToolbar ! ;M ! ! :M SetFileName: ( addr len -- ) ! FileName place FileName +null ;M :M GetFileName: ( -- addr ) ! FileName ;M :M SetWindowTitle: ( -- ) *************** *** 482,503 **** :M SetURL: ( zUrl -- ) ! dup zcount FileName place FileName +null ! SetURL: ChildWindow ! SetWindowTitle: self ;M ! :M ?Modified: ( -- f ) ! false ;M ! :M GetFileType: ( -- n ) ! FT_HTML ;M ! :M Update: ( -- ) ! ;M :M GoBack: ( -- ) ! GoBack: ChildWindow ;M :M GoForward: ( -- ) ! GoForward: ChildWindow ;M ;Class --- 486,507 ---- :M SetURL: ( zUrl -- ) ! dup zcount SetFileName: self ! SetURL: ChildWindow ! SetWindowTitle: self ;M ! :M ?Modified: ( -- f ) ! false ;M ! :M GetFileType: ( -- n ) ! FT_HTML ;M ! :M Update: ( -- ) ! ;M :M GoBack: ( -- ) ! GoBack: ChildWindow ;M :M GoForward: ( -- ) ! GoForward: ChildWindow ;M ;Class *************** *** 616,620 **** --- 620,628 ---- FALT 'C' IDM_COMMENT_BLOCK ACCELENTRY FALT 'U' IDM_UNCOMMENT_BLOCK ACCELENTRY + + \ DexH menu FALT 'G' IDM_GLOSSARY_BLOCK ACCELENTRY + FALT 'B' IDM_GLOSSARY_BOLD ACCELENTRY + FALT 'I' IDM_GLOSSARY_ITALIC ACCELENTRY \ Properties menu Index: CommandID.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/CommandID.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CommandID.f 8 Dec 2005 17:27:12 -0000 1.5 --- CommandID.f 8 Jan 2006 09:25:36 -0000 1.6 *************** *** 48,52 **** NewID IDM_COMMENT_BLOCK NewID IDM_UNCOMMENT_BLOCK - NewID IDM_GLOSSARY_BLOCK NewID IDM_LOWERCASE NewID IDM_UPPERCASE --- 48,51 ---- *************** *** 57,60 **** --- 56,64 ---- NewID IDM_LINEDUPLICATE + \ DexH menu + NewID IDM_GLOSSARY_BLOCK + NewID IDM_GLOSSARY_BOLD + NewID IDM_GLOSSARY_ITALIC + \ View menu NewID IDM_VIEW_EOL Index: ScintillaMDI.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/SciEdit/ScintillaMDI.f,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ScintillaMDI.f 8 Dec 2005 17:27:12 -0000 1.6 --- ScintillaMDI.f 8 Jan 2006 09:25:36 -0000 1.7 *************** *** 118,122 **** GetTextLength: ChildWindow ;M - :M Delete: ( -- ) \ delete the selected text 0 PAD ! PAD ReplaceSel: ChildWindow ;M --- 118,121 ---- *************** *** 131,139 **** FindText$ c@ 0<> ;M ! :M FindText: ( -- ) ! \ move selected text into find-buf ! pad GetSelText: ChildWindow ! if pad zcount BL skip -trailing 10 -TRAILCHARS 13 -TRAILCHARS ?dup if FindText$ place else drop then then --- 130,138 ---- FindText$ c@ 0<> ;M ! :M FindText: { \ SelBuf$ -- } \ move selected text into find-buf ! 0 GetSelText: ChildWindow LocalAlloc: SelBuf$ ! SelBuf$ GetSelText: ChildWindow ! if SelBuf$ zcount BL skip -trailing 10 -TRAILCHARS 13 -TRAILCHARS ?dup if FindText$ place else drop then then *************** *** 223,244 **** then ;M - :M GlossaryBlock: { \ FirstLine? -- } \ Turn a block of lines into a glossary entry - ?Selection: self - if true to FirstLine? - BeginUndoAction: ChildWindow - SelBounds - ?do i Comment? - if \ remove current comment " \ " first - i PositionFromLine: ChildWindow - dup 2 + SetSel: ChildWindow Delete: self - then - i PositionFromLine: ChildWindow - FirstLine? - if z" \ *G " false to FirstLine? - else z" \ ** " - then InsertText: ChildWindow - loop EndUndoAction: ChildWindow - then ;M - :M GotoColumn: ( n -- ) GetCurrentPos: ChildWindow --- 222,225 ---- *************** *** 304,307 **** --- 285,292 ---- :M GetSelText: ( addr -- n ) + \ *G Copy the selected text to the memory pointed by \i addr \d + \ ** and return the length of the selected text (including terminating + \ ** 0 byte. If \i addr \d is NULL no text is copied and only the + \ ** length is returned. GetSelText: ChildWindow ;M *************** *** 487,490 **** --- 472,514 ---- \ ---------------------------------------------------------------------------- + \ DexH support + \ ---------------------------------------------------------------------------- + + :M GlossaryBlock: { \ FirstLine? -- } \ Turn a block of lines into a glossary entry + ?Selection: self + if true to FirstLine? + BeginUndoAction: ChildWindow + SelBounds + ?do i Comment? + if \ remove current comment " \ " first + i PositionFromLine: ChildWindow + dup 2 + SetSel: ChildWindow Delete: self + then + i PositionFromLine: ChildWindow + FirstLine? + if z" \ *G " false to FirstLine? + else z" \ ** " + then InsertText: ChildWindow + loop EndUndoAction: ChildWindow + then ;M + + : GlossaryStyle { addr len \ slen $buf1 $buf2 -- } + 0 GetSelText: ChildWindow dup to slen + if slen LocalAlloc: $buf1 $buf1 GetSelText: ChildWindow + if slen 16 + LocalAlloc: $buf2 + addr len $buf2 lplace $buf1 slen 1- $buf2 +lplace s" \d" $buf2 +lplace + 0 $buf2 lcount + c! + $buf2 lcount drop ReplaceSel: ChildWindow + then + then ; + + :M GlossaryBold: ( -- ) + s" \b " GlossaryStyle ;M + + :M GlossaryItalic: ( -- ) + s" \i " GlossaryStyle ;M + + \ ---------------------------------------------------------------------------- + \ ---------------------------------------------------------------------------- :M Compile: ( -- ) \ compile this File *************** *** 495,498 **** --- 519,524 ---- \ ---------------------------------------------------------------------------- + \ ---------------------------------------------------------------------------- + : OpenFile ( adr -- f ) \ f=false = file is opend dup count FILE-STATUS nip 0= *************** *** 502,508 **** :m OpenHighlightedFile: { \ buf$ path$ org-path-ptr -- } ! GetSelectionEnd: ChildWindow GetSelectionStart: ChildWindow - ! ?dup ! if MAXSTRING max LocalAlloc: buf$ buf$ 1+ GetSelText: ChildWindow 1- 255 min buf$ c! --- 528,533 ---- :m OpenHighlightedFile: { \ buf$ path$ org-path-ptr -- } ! 0 GetSelText: ChildWindow MAXSTRING CHARS < ! if MAXSTRING CHARS 1+ LocalAlloc: buf$ buf$ 1+ GetSelText: ChildWindow 1- 255 min buf$ c! *************** *** 527,531 **** then then ! else beep then ;M --- 552,556 ---- then then ! else drop beep then ;M |
From: George H. <geo...@us...> - 2006-01-06 10:36:42
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25189/win32forth/src Modified Files: Class.f Log Message: gah: Minor bug fix Index: Class.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/Class.f,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Class.f 5 Jan 2006 11:03:55 -0000 1.8 --- Class.f 6 Jan 2006 10:36:14 -0000 1.9 *************** *** 544,550 **** --- 544,553 ---- classes definitions + variable new-method + internal : (;ClObj) ( -- ) + new-method off 0 ^Super iclass ! 0 ^Self iclass ! *************** *** 570,575 **** \ -------------------- Method Compiler -------------------- - variable new-method - : method ( SelID -- ) \ Build a methods dictionary entry for selector ?Class ?Exec --- 573,576 ---- *************** *** 583,587 **** : _clash ( hash-val -- ) ! new-method @ warning @ and if ^Class mfa ((findm)) if drop warn_clash warnmsg then --- 584,588 ---- : _clash ( hash-val -- ) ! new-method @ warning @ and ^Class and if ^Class mfa ((findm)) if drop warn_clash warnmsg then *************** *** 589,593 **** then new-method off ; ! _clash is clash \ For Windows messages, we would like the selector to be a constant --- 590,594 ---- then new-method off ; ! ' _clash is clash \ For Windows messages, we would like the selector to be a constant |
From: Dirk B. <db...@us...> - 2006-01-05 16:31:51
|
Update of /cvsroot/win32forth/win32forth/apps/PlayVirginRadio In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26446/apps/PlayVirginRadio Modified Files: PlayVirginRadio.f Log Message: Setting the sound volume on exit removed. Index: PlayVirginRadio.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/PlayVirginRadio/PlayVirginRadio.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PlayVirginRadio.f 15 Sep 2005 16:36:08 -0000 1.5 --- PlayVirginRadio.f 5 Jan 2006 16:31:39 -0000 1.6 *************** *** 128,132 **** : uninit-player ( -- ) DestroyWindow: MainWindow ! SoundOn ; unload-chain chain-add-before uninit-player --- 128,133 ---- : uninit-player ( -- ) DestroyWindow: MainWindow ! \ SoundOn ! ; unload-chain chain-add-before uninit-player |
From: Dirk B. <db...@us...> - 2006-01-05 16:30:19
|
Update of /cvsroot/win32forth/win32forth/src/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25703/src/tools Modified Files: HelpSystem.f Log Message: New Warning -4105 added to the help system. Index: HelpSystem.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/tools/HelpSystem.f,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** HelpSystem.f 15 Sep 2005 16:36:10 -0000 1.6 --- HelpSystem.f 5 Jan 2006 16:30:05 -0000 1.7 *************** *** 77,85 **** \ Warning Messages ! ERROR-TABLE-ENTRY -4100 p-gethelp.htm Error(-4100) ! ERROR-TABLE-ENTRY -4101 p-gethelp.htm Error(-4101) ! ERROR-TABLE-ENTRY -4102 p-gethelp.htm Error(-4102) ! ERROR-TABLE-ENTRY -4103 p-gethelp.htm Error(-4103) ! ERROR-TABLE-ENTRY -4104 p-gethelp.htm Error(-4104) \ Application and Runtime Error Messages --- 77,86 ---- \ Warning Messages ! ERROR-TABLE-ENTRY -4100 p-gethelp.htm Warning(-4100) ! ERROR-TABLE-ENTRY -4101 p-gethelp.htm Warning(-4101) ! ERROR-TABLE-ENTRY -4102 p-gethelp.htm Warning(-4102) ! ERROR-TABLE-ENTRY -4103 p-gethelp.htm Warning(-4103) ! ERROR-TABLE-ENTRY -4104 p-gethelp.htm Warning(-4104) ! ERROR-TABLE-ENTRY -4105 p-gethelp.htm Warning(-4105) \ Application and Runtime Error Messages |
From: George H. <geo...@us...> - 2006-01-05 11:05:18
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21905/win32forth/doc Modified Files: p-gethelp.htm Log Message: gah: Documented warning for method hash clashes Index: p-gethelp.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-gethelp.htm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** p-gethelp.htm 26 Apr 2005 07:40:02 -0000 1.3 --- p-gethelp.htm 5 Jan 2006 11:05:04 -0000 1.4 *************** *** 333,341 **** </tr> <tr> ! <td style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid green; background-color: #CCCCCC" width="212" align="center"> -4104</td> ! <td style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid green; background-color: #CCCCCC" width="356"> <span class="fixedfont"><a href="#Warning(-4104)">is a deprecated word</a></span></td> </tr> </table> </center> --- 333,347 ---- </tr> <tr> ! <td style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid green; background-color: #FFFFDD" width="212" align="center"> -4104</td> ! <td style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid green; background-color: #FFFFDD" width="356"> <span class="fixedfont"><a href="#Warning(-4104)">is a deprecated word</a></span></td> </tr> + <tr> + <td style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid green; background-color: #CCCCCC" width="212" align="center"> + -4105</td> + <td style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid green; background-color: #CCCCCC" width="356"> + <span class="fixedfont"><a href="#Warning(-4105)">has a hash value that is already recognised by this class."</a></span></td> + </tr> </table> </center> *************** *** 1011,1014 **** --- 1017,1039 ---- DPR-WARNING-OFF</a></span>. Otherwise, realise that your application might not work with new Win32Forth Versions in the future.</p> + + <hr> + <p><span class="fixedfont"><font size="4"><b><a name="Warning(-4105)"> + Warning(-4105)</a></b></font></span><b><span class="fixedfont"><font size="4">: + has a hash value that is already recognised by this class</font></span></b></p> + <p><b>Summary: </b>Warning. There are two or more methods in the + same class, or an ancestor. The last method is the one in force. </p> + <p><b>Example:</b></p> + <blockquote> + <pre><b>:m getPeriodY: ." Executing GetPeriodY" ;m</b> ok + <b>:m setperiods: ." Executing SetPeriods" ;m</b> + ^^^^^^^^^^^ + Warning(-4105): SETPERIODS: has a hash value that is already recognised by this class. ok</pre> + </blockquote> + <p><b>Resolution: </b>Hashing method names is not perfect, so very occassionally clashes + may occur. Try renaming the method. If the method that the new method clashes with is in + an ancestor, and is not needed by this class then you can ignore the warning. + If so, and this is annoying you, then turn off warnings with + <span class="fixedfont"><a href="#Suppressing Warnings">WARNING OFF</a></span>. </p> <hr> <p><b><span class="fixedfont"><font size="4"><a name="Error(9998)">Error(9998)</a>: <name> |
From: George H. <geo...@us...> - 2006-01-05 11:04:10
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21770/win32forth/src Modified Files: Class.f PRIMHASH.F Log Message: gah: Added warning for method hash clashes Index: Class.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/Class.f,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Class.f 29 Oct 2005 09:42:31 -0000 1.7 --- Class.f 5 Jan 2006 11:03:55 -0000 1.8 *************** *** 13,16 **** --- 13,20 ---- only forth also definitions + -4105 constant warn_clash + + throw_msgs link, warn_clash , ," has a hash value that is already recognised by this class." + true value ?win-error-enabled \ initially errors are enabled *************** *** 566,573 **** \ -------------------- Method Compiler -------------------- : method ( SelID -- ) \ Build a methods dictionary entry for selector ?Class ?Exec ! dup pocket count rot add-hash ^Class MFA link, \ link , \ name is selector's hashed value --- 570,578 ---- \ -------------------- Method Compiler -------------------- + variable new-method : method ( SelID -- ) \ Build a methods dictionary entry for selector ?Class ?Exec ! dup pocket count rot new-method on add-hash ^Class MFA link, \ link , \ name is selector's hashed value *************** *** 577,580 **** --- 582,594 ---- !csp ] ; \ start compiler + : _clash ( hash-val -- ) + new-method @ warning @ and if + ^Class mfa ((findm)) if + drop warn_clash warnmsg then + else drop + then new-method off ; + + _clash is clash + \ For Windows messages, we would like the selector to be a constant \ defined as the Window message number. :M will support both types of Index: PRIMHASH.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/PRIMHASH.F,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PRIMHASH.F 19 May 2005 07:49:22 -0000 1.3 --- PRIMHASH.F 5 Jan 2006 11:03:55 -0000 1.4 *************** *** 251,255 **** 2dup link> >body @ = if nip ( discard hash value ) ! l>name dup LATEST-NFA ! \ save nfa for other use (Sonntag, März 13 2005 dbu) count ( addr len ) --- 251,255 ---- 2dup link> >body @ = if nip ( discard hash value ) ! l>name dup LATEST-NFA ! \ save nfa for other use (Sonntag, März 13 2005 dbu) count ( addr len ) *************** *** 268,271 **** --- 268,275 ---- IN-SYSTEM + defer clash ( hash-val -- ) + + ' drop is clash + : add-hash ( addr len hash-val -- ) >r 2dup hash-wid search-wordlist *************** *** 276,282 **** "header docon , r> set-current ! r> , then ; ! 0 value obj-save --- 280,286 ---- "header docon , r> set-current ! r> dup , clash then ; ! 0 value obj-save *************** *** 305,307 **** - |
From: Jos v.d.V. <jo...@us...> - 2006-01-04 22:17:47
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30210/src/lib Modified Files: SUB_DIRS.F Log Message: Jos: Set search-aborted? to false when a search is started, otherwise it might not always scan a directory tree at all. Index: SUB_DIRS.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/SUB_DIRS.F,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SUB_DIRS.F 30 Aug 2005 13:56:57 -0000 1.4 --- SUB_DIRS.F 4 Jan 2006 22:17:38 -0000 1.5 *************** *** 175,178 **** --- 175,179 ---- : do-files-process ( -- ) + false to search-aborted? first-path" "process-directory BEGIN next-path" dup *************** *** 181,185 **** REPEAT 2drop ; - INTERNAL --- 182,185 ---- *************** *** 217,218 **** --- 217,219 ---- MODULE + |
From: George H. <geo...@us...> - 2006-01-03 08:28:31
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10007/win32forth/src/lib Modified Files: task.f Log Message: gah: More documentation on multi-tasking. Index: task.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/task.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** task.f 22 Dec 2005 11:02:28 -0000 1.4 --- task.f 3 Jan 2006 08:28:19 -0000 1.5 *************** *** 8,14 **** --- 8,49 ---- \ *T Using the Task Wordset + \ *P The multi-tasker is not loaded in the system by default so the file TASK.F in the lib + \ ** folder should be included in any program that multi-tasks, unless using the file + \ ** MULTITHR.F (also in the lib folder) which includes it automatically. \ *P Multi-tasking in Win32Forth is accomplished by using the Windows\_® \d multi-tasker. \ ** This is a pre-emptive multi-tasker. + \ *S The Task Control Block + + \ *P The task control block (also known as task-block or TCB) is a small structure either + \ ** alloted in the dictionary or allocated on the heap containing information about a task. + \ *B The xt and parameter variables are set when the task-block is created. + \ *B The stop flag can be set by other tasks and is used to signal the task that it has + \ ** been asked to finish. + \ *B The ID is set when the task is created and is valid only until the task terminates. + \ *B The handle is set when the task is created and is valid until it is closed by the + \ ** API CloseHandle function, even after the task has terminated. The operating system + \ ** does not free the OS resources allocated to a task until all handles (except for + \ ** the pseudohandle returned by the API GetCurrentThread) are closed and + \ ** the task has terminated. Programs should close the handle as soon as it's no longer + \ ** needed (if it's never used close it at the start of the task word). + + \ *S The User Area + + \ *P When a task is created the operating system allocates a stack for the task. + \ ** Win32Forth splits this stack into three regions, a return stack, a User area + \ ** and a data stack. The address of this User area is stored in thread local + \ ** storage so that callbacks have access to the correct User area for the task + \ ** (Versions prior to V6.05 always used the main task's User area for callbacks). + \ ** When a task starts the contents of the User area are undefined except + \ *B Base is set to decimal. + \ *B The exception handler is set so the task exits if an exception is thrown, returning + \ ** the error code to the operating system. + \ *B TCB is set to the task control block of the task. + \ *B RP0 is set to the base of the return stack. + \ *B SP0 is set to the base of the data stack. + \ *P All other User variables used by a task should be explicitly set before use. + \ ** If the task uses floating-point words then FINIT should be called first. + \ *S Glossary |
From: George H. <geo...@us...> - 2006-01-03 08:28:31
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10007/win32forth/doc Modified Files: p-task.htm Log Message: gah: More documentation on multi-tasking. Index: p-task.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-task.htm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** p-task.htm 22 Dec 2005 11:04:40 -0000 1.1 --- p-task.htm 3 Jan 2006 08:28:19 -0000 1.2 *************** *** 17,22 **** width="32" height="32"> Win32Forth</h1> <hr /><h1>Using the Task Wordset ! </h1><hr /><p>Multi-tasking in Win32Forth is accomplished by using the Windows<sub>® </sub> multi-tasker. This is a pre-emptive multi-tasker. </p><h2>Glossary </h2><pre><b><a name="0">cell field+ task>parm ( task-block -- addr ) \ W32F Task --- 17,53 ---- width="32" height="32"> Win32Forth</h1> <hr /><h1>Using the Task Wordset ! </h1><hr /><p>The multi-tasker is not loaded in the system by default so the file TASK.F in the lib ! folder should be included in any program that multi-tasks, unless using the file ! MULTITHR.F (also in the lib folder) which includes it automatically. ! </p><p>Multi-tasking in Win32Forth is accomplished by using the Windows<sub>® </sub> multi-tasker. This is a pre-emptive multi-tasker. + </p><h2>The Task Control Block + </h2><p>The task control block (also known as task-block or TCB) is a small structure either + alloted in the dictionary or allocated on the heap containing information about a task. + </p><ul><li>The xt and parameter variables are set when the task-block is created. + </li><li>The stop flag can be set by other tasks and is used to signal the task that it has + been asked to finish. + </li><li>The ID is set when the task is created and is valid only until the task terminates. + </li><li>The handle is set when the task is created and is valid until it is closed by the + API CloseHandle function, even after the task has terminated. The operating system + does not free the OS resources allocated to a task until all handles (except for + the pseudohandle returned by the API GetCurrentThread) are closed and + the task has terminated. Programs should close the handle as soon as it's no longer + needed (if it's never used close it at the start of the task word). + </li></ul><h2>The User Area + </h2><p>When a task is created the operating system allocates a stack for the task. + Win32Forth splits this stack into three regions, a return stack, a User area + and a data stack. The address of this User area is stored in thread local + storage so that callbacks have access to the correct User area for the task + (Versions prior to V6.05 always used the main task's User area for callbacks). + When a task starts the contents of the User area are undefined except + </p><ul><li>Base is set to decimal. + </li><li>The exception handler is set so the task exits if an exception is thrown, returning + the error code to the operating system. + </li><li>TCB is set to the task control block of the task. + </li><li>RP0 is set to the base of the return stack. + </li><li>SP0 is set to the base of the data stack. + </li></ul><p>All other User variables used by a task should be explicitly set before use. + If the task uses floating-point words then FINIT should be called first. </p><h2>Glossary </h2><pre><b><a name="0">cell field+ task>parm ( task-block -- addr ) \ W32F Task |
From: George H. <geo...@us...> - 2006-01-03 08:26:28
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9502/win32forth/src Modified Files: FLOAT.F Log Message: gah: Minor bug fixes and optimisations. Index: FLOAT.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/FLOAT.F,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** FLOAT.F 16 Nov 2005 09:11:38 -0000 1.21 --- FLOAT.F 3 Jan 2006 08:26:17 -0000 1.22 *************** *** 160,165 **** mov ecx, FSP_MEMORY sub ecx, # B/FLOAT ! js short L$1 ! fld FSIZE FSTACK_MEMORY fxam fstsw ax --- 160,167 ---- mov ecx, FSP_MEMORY sub ecx, # B/FLOAT ! jns short L$1 ! mov ebx, # FPU_STATUS_CCF_EMPTY ! jmp short L$2 ! L$1: fld FSIZE FSTACK_MEMORY fxam fstsw ax *************** *** 167,185 **** and ebx, # FPU_STATUS_CCF_MASK fstp st(0) - jmp short L$2 - L$1: mov ebx, # FPU_STATUS_CCF_EMPTY L$2: next, end-code ! code finit ( -- ) \ clears fp stack & sets appropriate byte mode ! finit ! xor eax, eax ! mov FSP_MEMORY , eax ! mov ecx, ebx ! xor ebx, ebx ! push ebx ! mov ebx, esp ! fstcw word 0 [ebx] ! pop eax B/FLOAT 10 = [IF] or eax, # 0x0300 \ 10 byte mode --- 169,186 ---- and ebx, # FPU_STATUS_CCF_MASK fstp st(0) L$2: next, end-code ! code finit ( -- ) \ W32F Float extra ! \ *G Clears the floating-point stack & sets the appropriate byte mode. ! \ ** It is executed by the system on start-up and by the default exception handler. ! \ ** Users generally don't need to call this word in a single-task program. ! \ ** Tasks in a multi-task program should execute this word before executing any ! \ ** other floating-point words. ! fninit ! mov FSP_MEMORY , edi ! lea esp, -4 [esp] ! fnstcw word 0 [esp] ! mov eax, 0 [esp] B/FLOAT 10 = [IF] or eax, # 0x0300 \ 10 byte mode *************** *** 187,195 **** or eax, # 0x0200 [THEN] ! push eax ! mov ebx, esp ! fldcw word 0 [ebx] ! pop ebx ! mov ebx, ecx next, end-code --- 188,194 ---- or eax, # 0x0200 [THEN] ! mov 0 [esp], eax ! fldcw word 0 [esp] ! lea esp, 4 [esp] next, end-code *************** *** 261,266 **** js short L$1 ret \ stack is fine, return to caller ! L$1: mov esi, # ' FSTKUFLO >body \ throw underflow error ! next \ doesn't return to caller !!! end-code --- 260,265 ---- js short L$1 ret \ stack is fine, return to caller ! L$1: mov eax, # ' FSTKUFLO \ throw underflow error ! exec \ doesn't return to caller !!! end-code *************** *** 350,354 **** FPU> ! pop bx float; --- 349,353 ---- FPU> ! pop tos float; *************** *** 358,362 **** code (f@) ( F: -- r ; addr -- ) \ ??? fld FSIZE DATASTACK_MEMORY ! pop ebx float; DEPRECATED --- 357,361 ---- code (f@) ( F: -- r ; addr -- ) \ ??? fld FSIZE DATASTACK_MEMORY ! pop tos float; DEPRECATED *************** *** 428,433 **** sub FSP_MEMORY , # B/FLOAT ! next, ! end-code code FDUP ( fs: r -- r r ) --- 427,431 ---- sub FSP_MEMORY , # B/FLOAT ! float; code FDUP ( fs: r -- r r ) *************** *** 521,531 **** sub FSP_MEMORY , # B/FLOAT 2* ! next, ! end-code : F2DUP ( fs: r1 r2 -- r1 r2 r3 r4 ) fover fover ; ! : F2SWAP ( fs: r1 r2 -- r2 r1 ) { \ ftemp -- } B/FLOAT LocalAlloc: ftemp \ hold a floating point number --- 519,529 ---- sub FSP_MEMORY , # B/FLOAT 2* ! float; : F2DUP ( fs: r1 r2 -- r1 r2 r3 r4 ) fover fover ; ! : F2SWAP ( fs: r1 r2 r3 r4 -- r3 r4 r2 r1 ) \ W32F Float extra ! \ *G Swap the top pair of floating-point numbers with the second pair. { \ ftemp -- } B/FLOAT LocalAlloc: ftemp \ hold a floating point number *************** *** 579,583 **** [IF] stack-check \ TODO replace f1.0 fvariable with fconstant ! f1.0 fvariable af0 0 af0 ! 0 af0 cell+ ! 0 af0 2 cells+ w! --- 577,581 ---- [IF] stack-check \ TODO replace f1.0 fvariable with fconstant ! fvariable af0 0 af0 ! 0 af0 cell+ ! 0 af0 2 cells+ w! *************** *** 591,605 **** 1 ' f2.0 >body 2 cells+ w+! ! f1.0 fvariable a2**63 0 a2**63 ! 0x80000000 a2**63 cell+ ! 0x403e a2**63 2 cells+ w! \ January 13th, 1998 - 9:32 tjz for RLS \ per suggestion from Pierre Abbat ! f1.0 fvariable sq2m1 \ sqrt(2) - 1 0xe7799210 sq2m1 ! 0xd413cccf sq2m1 cell+ ! 0x3ffd sq2m1 2 cells+ w! ! f1.0 fvariable sq2/2m1 \ sqrt(2)/2 - 1 0x0c4336f8 sq2/2m1 ! 0x95f61998 sq2/2m1 cell+ ! --- 589,603 ---- 1 ' f2.0 >body 2 cells+ w+! ! fvariable a2**63 0 a2**63 ! 0x80000000 a2**63 cell+ ! 0x403e a2**63 2 cells+ w! \ January 13th, 1998 - 9:32 tjz for RLS \ per suggestion from Pierre Abbat ! fvariable sq2m1 \ sqrt(2) - 1 0xe7799210 sq2m1 ! 0xd413cccf sq2m1 cell+ ! 0x3ffd sq2m1 2 cells+ w! ! fvariable sq2/2m1 \ sqrt(2)/2 - 1 0x0c4336f8 sq2/2m1 ! 0x95f61998 sq2/2m1 cell+ ! *************** *** 621,625 **** 1 ' feps >body ! ! f0.0 fvariable afsmall 0 afsmall ! 0x80000000 afsmall cell+ ! 1 afsmall 2 cells+ w! --- 619,623 ---- 1 ' feps >body ! ! fvariable afsmall 0 afsmall ! 0x80000000 afsmall cell+ ! 1 afsmall 2 cells+ w! *************** *** 638,649 **** 0x40000000 ' f2.0 >body cell+ ! ! f1.0 fvariable a2**63 0 a2**63 ! 0x43e00000 a2**63 cell+ ! ! f1.0 fvariable sq2m1 \ sqrt(2) - 1 0x99fcef34 sq2m1 ! 0x3fda8279 sq2m1 cell+ ! ! f1.0 fvariable sq2/2m1 \ sqrt(2)/2 - 1 0x33018866 sq2/2m1 ! 0xbfd2bec3 sq2/2m1 cell+ ! --- 636,647 ---- 0x40000000 ' f2.0 >body cell+ ! ! fvariable a2**63 0 a2**63 ! 0x43e00000 a2**63 cell+ ! ! fvariable sq2m1 \ sqrt(2) - 1 0x99fcef34 sq2m1 ! 0x3fda8279 sq2m1 cell+ ! ! fvariable sq2/2m1 \ sqrt(2)/2 - 1 0x33018866 sq2/2m1 ! 0xbfd2bec3 sq2/2m1 cell+ ! *************** *** 778,786 **** code D>F ( d -- ) ( F: -- r ) ! xchg ebx, 0 [esp] ! push ebx fild qword 0 [esp] ! add esp, # 8 ! pop ebx FPU> --- 776,786 ---- code D>F ( d -- ) ( F: -- r ) ! lea esp, -4 [esp] ! mov ecx, 4 [esp] ! mov 0 [esp], ecx ! mov 4 [esp], tos fild qword 0 [esp] ! mov tos, 8 [esp] ! lea esp, 12 [esp] FPU> *************** *** 1512,1526 **** code f>bcd ( f: r -- ) ( addr -- ) ! mov ecx, FSP_MEMORY ! sub ecx, # B/FLOAT ! js short L$4 ! mov FSP_MEMORY , ecx ! fld FSIZE FSTACK_MEMORY fbstp DATASTACK_MEMORY ! jmp short L$5 ! L$4: mov esi, # ' FSTKUFLO >body ! L$5: pop ebx ! next, ! end-code : bcd-char@ ( n -- char ) --- 1512,1520 ---- code f>bcd ( f: r -- ) ( addr -- ) ! fstack-check_1 ! >fpu fbstp DATASTACK_MEMORY ! pop tos ! float; : bcd-char@ ( n -- char ) *************** *** 1988,1992 **** ['] (g.) (fp.) ; ! SYNONYM FS. E. ( f: r -- r ) \ display fp # in scientific notation --- 1982,1986 ---- ['] (g.) (fp.) ; ! SYNONYM FS. E. ( f: r -- ) \ display fp # in scientific notation |
From: Jos v.d.V. <jo...@us...> - 2005-12-31 20:48:21
|
Update of /cvsroot/win32forth/win32forth/apps/Player4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28572/apps/Player4 Modified Files: Catalog.f PLAYER4.F Log Message: Jos: Removed a bug from Import a directory tree Index: PLAYER4.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Player4/PLAYER4.F,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** PLAYER4.F 26 Dec 2005 14:54:44 -0000 1.33 --- PLAYER4.F 31 Dec 2005 20:48:13 -0000 1.34 *************** *** 21,25 **** true value turnkey? ! \ false value turnkey? true value MciDebug? --- 21,25 ---- true value turnkey? ! true to turnkey? true value MciDebug? *************** *** 233,237 **** if cr ." REBUILD " then ! generate-index-file then true vadr-config ExitFailed- c! --- 233,237 ---- if cr ." REBUILD " then ! generate-index-file build-free-list then true vadr-config ExitFailed- c! *************** *** 552,555 **** --- 552,556 ---- \ ----------------------------------------------------------------------------- + turnkey? [if] ' QuitPlayer is StopPlayer Index: Catalog.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Player4/Catalog.f,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** Catalog.f 26 Dec 2005 14:54:44 -0000 1.22 --- Catalog.f 31 Dec 2005 20:48:13 -0000 1.23 *************** *** 519,523 **** if drop s" \" else count ! then s" *.wma" true ; --- 519,523 ---- if drop s" \" else count ! then s" *.*" true \ Filtering is done by the catalog ; *************** *** 545,550 **** ; - \ s" F:\Data\geript" s" *.*" true sdir .s - \ -------------------------------------------------------------------------- \ search in the catalog --- 545,548 ---- |
From: Dirk B. <db...@us...> - 2005-12-31 11:13:05
|
Update of /cvsroot/win32forth/win32forth/doc/classes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26368/doc/classes Modified Files: Control.htm Dialog.htm Generic.htm Window.htm gdiBase.htm gdiBitmap.htm gdiBrush.htm gdiDC.htm gdiFont.htm gdiMetafile.htm gdiMetafileDC.htm gdiPen.htm gdiStruct.htm gdiWindowDc.htm Added Files: Controls.htm Log Message: More documentation added. --- NEW FILE: Controls.htm --- <html> <head> <meta http-equiv="Content-Language" content="en-gb"> <meta name="GENERATOR" content="dexh00"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title> </title><style><!-- h1 { font-family: Tahoma; font-size: 24pt; font-weight: bold } h2 { font-family: Tahoma; font-size: 18pt; font-weight: bold } --> </style> </head> <body><h1 align="center"> <a href="mailto:win...@ya...?subject=DOC:Doc error in $Id: Controls.htm,v 1.1 2005/12/31 11:12:43 dbu_de Exp $"> <img border="0" src="../TELLUS.gif" align="left" width="32" height="32"></a> <img border="0" src="../FORTHPRO.gif" width="32" height="32"> Win32Forth</h1> <hr /><h1>Controls -- Classes for standrad windows controls. </h1><hr /><a name="EditControl"></a> <h2>EditControl class </h2><pre><b><a name="0">:Class EditControl <Super CONTROL </a></b></pre><p>Class for text edit controls. </p><pre><b><a name="0">:M StartSize: ( -- width height ) </a></b></pre><p>Get the start size of the control </p><pre><b><a name="0">:M WindowStyle: ( -- Style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control. </p><pre><b><a name="0">:M SetWmChar: ( pWmChar -- ) </a></b></pre><p>install the WM_CHAR filter function </p><pre><b><a name="0">:M SetWmKeyDown: ( pWmKeyDown -- ) </a></b></pre><p>install the WM_KEYDOWN filter function </p><pre><b><a name="0">:M SetWmKillFocus: ( pWmKillFocus -- ) </a></b></pre><p>install the WM_KILLFOCUS filter function </p><pre><b><a name="0">:M SubClass: ( hWnd Parent -- ) </a></b></pre><p>Subclass this control </p><pre><b><a name="0">;Class </a></b></pre><p>End of EditControl class </p><a name="ComboControl"></a> <h2>ComboControl class </h2><pre><b><a name="0">:Class ComboControl <Super CONTROL </a></b></pre><p>Class for editable combo box controls. </p><pre><b><a name="0">:M StartSize: ( -- width height ) </a></b></pre><p>Get the start size of the control </p><pre><b><a name="0">:M WindowStyle: ( -- Style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">:M SetWmChar: ( pWmChar -- ) </a></b></pre><p>install the WM_CHAR filter function for the EditControl of the combo box. </p><pre><b><a name="0">:M SetWmKeyDown: ( pWmKeyDown -- ) </a></b></pre><p>install the WM_KEYDOWN filter function for the EditControl of the combo box. </p><pre><b><a name="0">:M SetWmKillFocus: ( pWmKillFocus -- ) </a></b></pre><p>install the WM_KILLFOCUS filter function for the EditControl of the combo box. </p><pre><b><a name="0">:M InsertString: ( adr len -- ) </a></b></pre><p>Insert a string into the combo box </p><pre><b><a name="0">:M GetString: ( adr index -- ) </a></b></pre><p>Use: GetString: to get indexed items out of the combo box string list Use: GetText: to get the current combo box string </p><pre><b><a name="0">:M GetCount: ( -- n1 ) \ n1 = count of items </a></b></pre><p>Use: GetCount: to get the count of items in the combo box string list </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of ComboControl class </p><a name="ComboListControl"></a> <h2>ComboListControl class </h2><pre><b><a name="0">:Class ComboListControl <Super ComboControl </a></b></pre><p>Class for select only combo box controls. </p><pre><b><a name="0">:M WindowStyle: ( -- Style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of ComboListControl class </p><a name="ListControl"></a> <h2>ListControl class </h2><pre><b><a name="0">:Class ListControl <Super CONTROL </a></b></pre><p>Class for list box controls. </p><pre><b><a name="0">:M WindowStyle: ( -- Style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of ListControlControl class </p><a name="GroupControl"></a> <h2>GroupControl control class </h2><pre><b><a name="0">:Class GroupControl <Super CONTROL </a></b></pre><p>Class for group controls. </p><pre><b><a name="0">:M WindowStyle: ( -- Style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of GroupControl class </p><a name="StaticControl"></a> <h2>StaticControl control class </h2><pre><b><a name="0">:Class StaticControl <Super CONTROL </a></b></pre><p>Class for static controls. </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of StaticControl class </p><a name="CheckControl"></a> <h2>CheckControl control class </h2><pre><b><a name="0">:Class CheckControl <Super CONTROL </a></b></pre><p>Class for check box controls. </p><pre><b><a name="0">:M WindowStyle: ( -- style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of CheckControl class </p><a name="RadioControl"></a> <h2>RadioControl control class </h2><pre><b><a name="0">:Class RadioControl <Super CONTROL </a></b></pre><p>Class for radio button controls. </p><pre><b><a name="0">:M WindowStyle: ( -- style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of RadioControl class </p><a name="ButtonControl"></a> <h2>ButtonControl control class </h2><pre><b><a name="0">:Class ButtonControl <Super CONTROL </a></b></pre><p>Class for push button controls. </p><pre><b><a name="0">:M SetFunc: ( cfa -- ) </a></b></pre><p>Set the button function. This function es executed when the button is pressed whith a click with the left mouse button </p><pre><b><a name="0">:M WindowStyle: ( -- style ) </a></b></pre><p>Get the window style of the control </p><pre><b><a name="0">:M Start: ( Parent -- ) </a></b></pre><p>Create the control </p><pre><b><a name="0">;Class </a></b></pre><p>End of ButtonControl class </p><a name="DialogWindow"></a> <h2>Dialog Window Class </h2><pre><b><a name="0">:CLASS DialogWindow <Super Window </a></b></pre><p>Base class for windows that contains controls. </p><pre><b><a name="0">;Class </a></b></pre><p>End of DialogWindow class </p><hr><p>Document $Id: Controls.htm,v 1.1 2005/12/31 11:12:43 dbu_de Exp $</p> </body></html> Index: Dialog.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/Dialog.htm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Dialog.htm 26 Dec 2005 09:28:23 -0000 1.1 --- Dialog.htm 31 Dec 2005 11:12:43 -0000 1.2 *************** *** 17,20 **** width="32" height="32"> Win32Forth</h1> <hr /><h1>Dialog -- Class for dialog boxes. ! </h1><hr /><hr><p>Document $Id$</p> </body></html> --- 17,100 ---- width="32" height="32"> Win32Forth</h1> <hr /><h1>Dialog -- Class for dialog boxes. ! </h1><hr /><h2>Load Dialog Resource File ! </h2><p>The .RES file structure is a series of records. Each record contains ! a header and a data field. The structure of a header is as follows: ! </p><table border="1"><tr><td>offset ! </td> ! <td>length ! </td> ! </tr> ! <tr><td>0 ! </td> ! <td>4 ! </td> ! <td>length of data field ! </td> ! </tr> ! <tr><td>4 ! </td> ! <td>4 ! </td> ! <td>length of header ! </td> ! </tr> ! <tr><td>10 ! </td> ! <td>2 ! </td> ! <td>record type ! </td> ! </tr> ! <tr><td>14 ! </td> ! <td>2 ! </td> ! <td>dialog ID number (for dialogs) ! </td> ! </tr> ! </table><pre><b><a name="0">: dialogID? ( hdr ID -- f ) ! </a></b></pre><p>Given the address of a header in a resource file, return true if this ! is the header for a dialog resource. I'm only guessing here. ! </p><pre><b><a name="0">: find-dialog-ID ( id addr -- address-of-template-header ) ! </a></b></pre><p>Find dialog template given address and length of resource file in memory. ! </p><pre><b><a name="0">: load-dialog ( -<filename-without-an-extension>- ) ! </a></b></pre><p>Load template from dialog resource (*.res) to here and allot memory. <br /> ! Usage: load-dialog dialog ! </p><a name="Dialog"></a> ! <h2>Dialog Class ! </h2><pre><b><a name="0">:CLASS Dialog <SUPER Dialog&Control \ generic-window ! </a></b></pre><p>Dialog class. <br /> ! To use this class you have to create a ressource file (*.res) whitch must contain ! the dialog resource. Since Win32Forth doesn't provide any tool's to create a dialog ! resource you should use ForthForm to create your dialog windows instead. ! </p><pre><b><a name="0">:M Start: ( parent -- flag ) ! </a></b></pre><p>Open the dialog ! </p><pre><b><a name="0">:M EndDialog: ( return-value -- ) ! </a></b></pre><p>Close the dialog ! </p><pre><b><a name="0">:M On_Init: ( hwndfocus -- f ) ! </a></b></pre><p>Init the dialog ! </p><pre><b><a name="0">:M On_Command: ( hCtrl code ID -- f ) ! </a></b></pre><p>Process Commands from Controls ! </p><pre><b><a name="0">;Class ! </a></b></pre><p>End of Dialog class ! </p><a name="ModelessDialog"></a> ! <h2>Modless Dialog class ! </h2><pre><b><a name="0">:Class ModelessDialog <SUPER Dialog ! </a></b></pre><p>Modless Dialog class <br /> ! To use this class you have to create a ressource file (*.res) whitch must contain ! the dialog resource. Since Win32Forth doesn't provide any tool's to create a dialog ! resource you should use ForthForm to create your dialog windows instead. ! </p><pre><b><a name="0">:M WindowStyle: ( -- n1 ) ! </a></b></pre><p>Get the window style of the dialog. ! </p><pre><b><a name="0">:M ExWindowStyle: ( -- n1 ) ! </a></b></pre><p>Get the extended window style of the dialog. ! </p><pre><b><a name="0">:M Origin: ( -- x y ) ! </a></b></pre><p>Get the origin (upper left corner) of the dialog. ! </p><pre><b><a name="0">:M Start: ( parent -- ) ! </a></b></pre><p>Open the dialog ! </p><pre><b><a name="0">:M EndDialog: ( n1 -- ) ! </a></b></pre><p>Close the dialog ! </p><pre><b><a name="0">;Class ! </a></b></pre><p>End of ModlessDialog class ! </p><hr><p>Document $Id$</p> </body></html> Index: gdiBrush.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiBrush.htm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gdiBrush.htm 26 Dec 2005 09:28:23 -0000 1.1 --- gdiBrush.htm 31 Dec 2005 11:12:43 -0000 1.2 *************** *** 166,172 **** </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiPatternBrush class ! </p><a name="gdiHatchBrush"></a> <pre><b><a name="0">:class gdiDIBPatternBrush <super gdiBrush ! </a></b></pre><p>DIBPattern brush class </p><pre><b><a name="0">:M Create: ( lpPackedDIB iUsage -- f ) </a></b></pre><p>The Create function creates a logical brush that has the pattern specified --- 166,172 ---- </p><pre><b><a name="0">;class </a></b></pre><p>End of gdiPatternBrush class ! </p><a name="gdiDIBPatternBrush"></a> <pre><b><a name="0">:class gdiDIBPatternBrush <super gdiBrush ! </a></b></pre><p>DIB Pattern brush class </p><pre><b><a name="0">:M Create: ( lpPackedDIB iUsage -- f ) </a></b></pre><p>The Create function creates a logical brush that has the pattern specified Index: gdiFont.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiFont.htm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gdiFont.htm 26 Dec 2005 09:28:23 -0000 1.1 --- gdiFont.htm 31 Dec 2005 11:12:43 -0000 1.2 *************** *** 259,272 **** </a></b></pre><p>Specifies the clipping precision. The clipping precision defines how to clip characters that are partially outside the clipping region. It can be one or more of the following values. ! </p><table border="1"><tr><td>CLIP_DEFAULT_PRECIS Specifies default clipping behavior. </td> </tr> ! <tr><td>CLIP_CHARACTER_PRECIS Not used. </td> </tr> ! <tr><td>CLIP_EMBEDDED You must specify this flag to use an embedded read-only font. </td> </tr> ! <tr><td>CLIP_LH_ANGLES When this value is used, the rotation for all fonts depends on whether the orientation of the coordinate system is left-handed or right-handed. If not used, device fonts always rotate counterclockwise, but the rotation of other fonts is dependent on the orientation of the coordinate system. </td> </tr> --- 259,280 ---- </a></b></pre><p>Specifies the clipping precision. The clipping precision defines how to clip characters that are partially outside the clipping region. It can be one or more of the following values. ! </p><table border="1"><tr><td>CLIP_DEFAULT_PRECIS ! </td> ! <td>Specifies default clipping behavior. </td> </tr> ! <tr><td>CLIP_CHARACTER_PRECIS ! </td> ! <td>Not used. </td> </tr> ! <tr><td>CLIP_EMBEDDED ! </td> ! <td>You must specify this flag to use an embedded read-only font. </td> </tr> ! <tr><td>CLIP_LH_ANGLES ! </td> ! <td>When this value is used, the rotation for all fonts depends on whether the orientation of the coordinate system is left-handed or right-handed </td> </tr> *************** *** 288,292 **** <tr><td>DRAFT_QUALITY </td> ! <td>Appearance of the font is less important than when PROOF_QUALITY is used. For GDI raster fonts, scaling is enabled, which means that more font sizes are available, but the quality may be lower. Bold, italic, underline, and strikeout fonts are synthesized if necessary. </td> </tr> --- 296,300 ---- <tr><td>DRAFT_QUALITY </td> ! <td>Appearance of the font is less important than when PROOF_QUALITY is used. For GDI raster fonts, scaling is enabled, which means that more font sizes are available, but the quality may be lower. </td> </tr> *************** *** 298,305 **** <tr><td>PROOF_QUALITY </td> ! <td>Character quality of the font is more important than exact matching of the logical-font attributes. For GDI raster fonts, scaling is disabled and the font closest in size is chosen. Although the chosen font size may not be mapped exactly when PROOF_QUALITY is used, the quality of the font is high and there is no distortion of appearance. Bold, italic, underline, and strikeout fonts are synthesized if necessary. </td> </tr> ! </table><p>If neither ANTIALIASED_QUALITY nor NONANTIALIASED_QUALITY is selected, the font is antialiased only if the user chooses smooth screen fonts in Control Panel. </p><pre><b><a name="0">:M SetPitchAndFamily: ( n1 -- ) </a></b></pre><p>Specifies the pitch and family of the font. The two low-order bits specify the pitch of the font and can --- 306,314 ---- <tr><td>PROOF_QUALITY </td> ! <td>Character quality of the font is more important than exact matching of the logical-font attributes. </td> </tr> ! </table><p>If neither ANTIALIASED_QUALITY nor NONANTIALIASED_QUALITY is selected, the font is antialiased only if the user chooses ! smooth screen fonts in Control Panel. </p><pre><b><a name="0">:M SetPitchAndFamily: ( n1 -- ) </a></b></pre><p>Specifies the pitch and family of the font. The two low-order bits specify the pitch of the font and can Index: Control.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/Control.htm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Control.htm 26 Dec 2005 09:28:23 -0000 1.1 --- Control.htm 31 Dec 2005 11:12:43 -0000 1.2 *************** *** 17,20 **** width="32" height="32"> Win32Forth</h1> <hr /><h1>Control -- Class for child controls with subclassing. ! </h1><hr /><hr><p>Document $Id$</p> </body></html> --- 17,50 ---- width="32" height="32"> Win32Forth</h1> <hr /><h1>Control -- Class for child controls with subclassing. ! </h1><hr /><a name="Control"></a> ! <h2>Generic Control class ! </h2><pre><b><a name="0">:Class Control <Super Dialog&Control ! </a></b></pre><p>Generic control class. <br /> ! Since Control is a generic class it should not be used to create ! any instances. ! </p><pre><b><a name="0">:M GetParent: ( -- parent ) ! </a></b></pre><p>Get the parent window of this control. ! </p><pre><b><a name="0">:M GetHandleOfParent: ( -- handleofparent ) ! </a></b></pre><p>Get the window handle of the parent window of this control. ! </p><pre><b><a name="0">:M SetID: ( id -- ) ! </a></b></pre><p>Set the ID of this control. Normaly you don't need to do this, because ! every control get's an unique ID when it's created. ! </p><pre><b><a name="0">:M GetID: ( -- id ) ! </a></b></pre><p>Get the ID of this control ! </p><pre><b><a name="0">:M ExWindowStyle: ( -- exstyle ) ! </a></b></pre><p>Get the extended window style of this control ! </p><pre><b><a name="0">:M WindowStyle: ( -- style ) ! </a></b></pre><p>Get the window style of this control ! </p><pre><b><a name="0">:M StartSize: ( -- width height ) ! </a></b></pre><p>Get the start size of this control. <br /> ! Override this method to change it. ! </p><pre><b><a name="0">:M StartPos: ( -- left top ) ! </a></b></pre><p>Get the start position of this control. <br /> ! Override this method to change it. ! </p><pre><b><a name="0">:M CreateStruct: ( -- CreateStrucPointer ) ! </a></b></pre><p>This pointer to a structure, depends on what kind of window you are ! creating, so we just default it to NULL. ! </p><pre><b><a name="0">;Class ! </a></b></pre><p>End of Control class ! </p><hr><p>Document $Id$</p> </body></html> Index: gdiBitmap.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/classes/gdiBitmap.htm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gdiBitmap.htm 26 Dec 2005 09:28:23 -0000 1.1 --- gdiBitmap.htm 31 Dec 2005 11:12:43 -0000 1.2 *************** *** 202,214 **** have been set by the SetBitmapDimension function. The function returns the height and width of the bitmap, in .01-mm units. ! </p><pre><b><a name="0">:M SetDIBits ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M GetDIBits ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M LoadBitmap ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M MaskBlt ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M PlgBlt ;M </a></b></pre><p>not implemented, yet. </p><pre><b><a name="0">;class --- 202,214 ---- have been set by the SetBitmapDimension function. The function returns the height and width of the bitmap, in .01-mm units. ! </p><pre><b><a name="0">:M SetDIBits: ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M GetDIBits: ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M LoadBitmap: ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M MaskBlt: ;M </a></b></pre><p>not implemented, yet. ! </p><pre><b><a name="0">:M PlgBlt: ;M </a></b></pre><p>not implemented, yet. </p><pre><b><a name="0">;class |
From: Dirk B. <db...@us...> - 2005-12-31 11:13:05
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26368/doc Modified Files: p-classes.htm Log Message: More documentation added. Index: p-classes.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-classes.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** p-classes.htm 24 Dec 2005 11:59:25 -0000 1.2 --- p-classes.htm 31 Dec 2005 11:12:43 -0000 1.3 *************** *** 26,35 **** <hr> ! <h2>Windows, Dialogs and Controls</h2> <ul> <li><a href="./classes/Generic.htm">Generic-Window</a> Base class for all window objects.</li> <li><a href="./classes/Window.htm">Window</a> Class for window objects.</li> </ul> <h2>GDI</h2> <ul> --- 26,57 ---- <hr> ! <h2>Windows and Dialogs</h2> <ul> <li><a href="./classes/Generic.htm">Generic-Window</a> Base class for all window objects.</li> <li><a href="./classes/Window.htm">Window</a> Class for window objects.</li> + <li><a href="./classes/Controls.htm#DialogWindow">DialogWindow</a> Class for windows that contains controls.</li> + </ul> + + <h2>Controls</h2> + <ul> + <li><a href="./classes/Control.htm">Control</a> Base class for standard window controls.</li> + <li><a href="./classes/Controls.htm#EditControl">EditControl</a> Class for text edit controls.</li> + <li><a href="./classes/Controls.htm#ComboControl">ComboControl</a> Class for editable combo box controls.</li> + <li><a href="./classes/Controls.htm#ListControl">ListControl</a> Class for select only combo box controls.</li> + <li><a href="./classes/Controls.htm#GroupControl">GroupControl</a> Class for group controls.</li> + <li><a href="./classes/Controls.htm#StaticControl">StaticControl</a> Class for static controls.</li> + <li><a href="./classes/Controls.htm#CheckControl">CheckControl</a> Class for check box controls.</li> + <li><a href="./classes/Controls.htm#RadioControl">RadioControl</a> Class for radio button controls.</li> + <li><a href="./classes/Controls.htm#ButtonControl">ButtonControl</a> Class for push button controls.</li> </ul> + <h2>Dialogs defined in resource (*.res) files.</h2> + <ul> + <li><a href="./classes/Dialog.htm#Dialog">Dialog</a> Class for Dialogs.</li> + <li><a href="./classes/Dialog.htm#ModelessDialog">ModelessDialog</a> Class for modless Dialogs.</li> + </ul> + <p>Since Win32Forth doesn't provide any tool's to create a dialog resource you should use + <a href="./ForthForm/ForthForm.htm">ForthForm</a> to create your dialog windows instead.</p> + <h2>GDI</h2> <ul> *************** *** 42,45 **** --- 64,73 ---- <li><a href="./classes/gdiPen.htm#gdiPen">gdiPen</a> Class for cosmetic pen's.</li> <li><a href="./classes/gdiPen.htm#gdiGeometricPen">gdiGeometricPen</a> Class for geometric pen's.</li> + <li><a href="./classes/gdiBrush.htm#gdiBrush">gdiBrush</a> Base class for all brush objects.</li> + <li><a href="./classes/gdiBrush.htm#gdiSolidBrush">gdiSolidBrush</a> Solid brush class.</li> + <li><a href="./classes/gdiBrush.htm#gdiHatchBrush">gdiHatchBrush</a> Hatch brush class.</li> + <li><a href="./classes/gdiBrush.htm#gdiPatternBrush">gdiPatternBrush</a> Pattern brush class.</li> + <li><a href="./classes/gdiBrush.htm#gdiDIBPatternBrush">gdiDIBPatternBrush</a> DIB Pattern brush class.</li> + <li><a href="./classes/gdiFont.htm#gdiFont">gdiFont</a> Font class.</li> </ul> |
From: Dirk B. <db...@us...> - 2005-12-31 11:13:05
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26368/src Modified Files: CONTROL.F CONTROLS.F Dialog.f Log Message: More documentation added. Index: CONTROLS.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/CONTROLS.F,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CONTROLS.F 29 Aug 2005 15:56:27 -0000 1.4 --- CONTROLS.F 31 Dec 2005 11:12:44 -0000 1.5 *************** *** 14,20 **** --- 14,27 ---- \ Win32Forth system + \ *D doc\classes\ + \ *! Controls + \ *T Controls -- Classes for standrad windows controls. + cr .( Loading Low Level Controls...) + \ *W <a name="EditControl"></a> + \ *S EditControl class :Class EditControl <Super CONTROL + \ *G Class for text edit controls. \ pointers to filter function to allow key capturing. *************** *** 39,48 **** ;M ! :M StartSize: ( width height ) ! 100 ! 25 ! ;M :M WindowStyle: ( -- Style ) WindowStyle: SUPER [ WS_BORDER WS_TABSTOP OR ES_AUTOHSCROLL OR ] literal OR \ allow horizontal scrolling --- 46,55 ---- ;M ! :M StartSize: ( -- width height ) ! \ *G Get the start size of the control ! 100 25 ;M :M WindowStyle: ( -- Style ) + \ *G Get the window style of the control WindowStyle: SUPER [ WS_BORDER WS_TABSTOP OR ES_AUTOHSCROLL OR ] literal OR \ allow horizontal scrolling *************** *** 50,53 **** --- 57,61 ---- :M Start: ( Parent -- ) + \ *G Create the control. TO Parent z" EDIT" Create-Control *************** *** 57,73 **** \ Return or F3, or whatever. ! :M SetWmChar: ( pWmChar -- ) \ install the WM_CHAR filter function ! to pWmChar ! ;M ! :M SetWmKeyDown: ( pWmKeyDown -- ) \ install the WM_KEYDOWN filter function ! to pWmKeyDown ! ;M ! :M SetWmKillFocus: ( pWmKillFocus -- ) \ install the WM_KILLFOCUS filter function ! to pWmKillFocus ! ;M ! :M SubClass: ( hWnd Parent -- ) \ subclass this control to parent to hWnd --- 65,82 ---- \ Return or F3, or whatever. ! :M SetWmChar: ( pWmChar -- ) ! \ *G install the WM_CHAR filter function ! to pWmChar ;M ! :M SetWmKeyDown: ( pWmKeyDown -- ) ! \ *G install the WM_KEYDOWN filter function ! to pWmKeyDown ;M ! :M SetWmKillFocus: ( pWmKillFocus -- ) ! \ *G install the WM_KILLFOCUS filter function ! to pWmKillFocus ;M ! :M SubClass: ( hWnd Parent -- ) ! \ *G Subclass this control to parent to hWnd *************** *** 75,89 **** ;M ! : ?pexecute ( hwnd msg wparm lparm pfunction -- result ) ! -IF self swap execute ! -IF DROP ! old-wndproc CallWindowProc ! THEN ! ELSE drop old-wndproc CallWindowProc THEN ; ! :M WM_CHAR ( h m w l -- res ) \ normal & control chars ! pWmChar ?pexecute ! ;M (( --- 84,97 ---- ;M ! : ?pexecute ( hwnd msg wparm lparm pfunction -- result ) ! -IF self swap execute ! -IF DROP ! old-wndproc CallWindowProc ! THEN ! ELSE drop old-wndproc CallWindowProc THEN ; ! :M WM_CHAR ( h m w l -- res ) \ normal & control chars ! pWmChar ?pexecute ;M (( *************** *** 100,109 **** :M WM_KEYDOWN ( h m w l -- res ) \ normal & control chars ! pWmKeyDown ?pexecute ! ;M :M WM_KILLFOCUS ( h m w l -- res ) \ Allow intervention on kill focus ! pWmKillFocus ?pexecute ! ;M :M WM_SETCURSOR { hndl msg wparam lparam -- res } --- 108,115 ---- :M WM_KEYDOWN ( h m w l -- res ) \ normal & control chars ! pWmKeyDown ?pexecute ;M :M WM_KILLFOCUS ( h m w l -- res ) \ Allow intervention on kill focus ! pWmKillFocus ?pexecute ;M :M WM_SETCURSOR { hndl msg wparam lparam -- res } *************** *** 111,134 **** AddrOf: WinRect GetClientRect: self hWnd get-mouse-xy Top: WinRect Bottom: WinRect between ! over Left: WinRect Right: WinRect between and ! IF ibeam-cursor ! 1 ! ELSE DROP ! hndl msg wparam lparam DefaultWindowProc ! THEN ! ;M ;Class ! :Class ComboControl <Super CONTROL \ an editable combo box EditControl ComboEdit ! :M StartSize: ( width height ) ! 100 ! 100 ! ;M :M WindowStyle: ( -- Style ) WindowStyle: SUPER [ CBS_DROPDOWN WS_VSCROLL OR WS_TABSTOP OR WS_VISIBLE OR ES_AUTOHSCROLL OR ] literal OR --- 117,143 ---- AddrOf: WinRect GetClientRect: self hWnd get-mouse-xy Top: WinRect Bottom: WinRect between ! over Left: WinRect Right: WinRect between and ! IF ibeam-cursor ! 1 ! ELSE DROP ! hndl msg wparam lparam DefaultWindowProc ! THEN ;M ;Class + \ *G End of EditControl class ! \ *W <a name="ComboControl"></a> ! \ *S ComboControl class ! :Class ComboControl <Super CONTROL ! \ *G Class for editable combo box controls. EditControl ComboEdit ! :M StartSize: ( -- width height ) ! \ *G Get the start size of the control ! 100 100 ;M :M WindowStyle: ( -- Style ) + \ *G Get the window style of the control WindowStyle: SUPER [ CBS_DROPDOWN WS_VSCROLL OR WS_TABSTOP OR WS_VISIBLE OR ES_AUTOHSCROLL OR ] literal OR *************** *** 138,154 **** \ Return or F3, or whatever. ! :M SetWmChar: ( pWmChar -- ) \ install the WM_CHAR filter function ! SetWmChar: ComboEdit ! ;M ! :M SetWmKeyDown: ( pWmKeyDown -- ) \ install the WM_KEYDOWN filter function ! SetWmKeyDown: ComboEdit ! ;M ! :M SetWmKillFocus: ( pWmKillFocus -- ) \ install the WM_KILLFOCUS filter function ! SetWmKillFocus: ComboEdit ! ;M :M InsertString: ( adr len -- ) hWnd NULL = \ must have a valid handle IF 2drop \ just discard if not running --- 147,164 ---- \ Return or F3, or whatever. ! :M SetWmChar: ( pWmChar -- ) ! \ *G install the WM_CHAR filter function for the EditControl of the combo box. ! SetWmChar: ComboEdit ;M ! :M SetWmKeyDown: ( pWmKeyDown -- ) ! \ *G install the WM_KEYDOWN filter function for the EditControl of the combo box. ! SetWmKeyDown: ComboEdit ;M ! :M SetWmKillFocus: ( pWmKillFocus -- ) ! \ *G install the WM_KILLFOCUS filter function for the EditControl of the combo box. ! SetWmKillFocus: ComboEdit ;M :M InsertString: ( adr len -- ) + \ *G Insert a string into the combo box hWnd NULL = \ must have a valid handle IF 2drop \ just discard if not running *************** *** 169,176 **** ;M - \ Use: GetText: to get the current combo box string - \ Use: GetString: to get indexed items out of the combo box string list - :M GetString: ( adr index -- ) swap dup>r 1+ swap CB_GETLBTEXT --- 179,185 ---- ;M :M GetString: ( adr index -- ) + \ *G Use: GetString: to get indexed items out of the combo box string list + \ ** Use: GetText: to get the current combo box string swap dup>r 1+ swap CB_GETLBTEXT *************** *** 178,184 **** ;M - \ Use: GetCount: to get the count of items in the combo box string list - :M GetCount: ( -- n1 ) \ n1 = count of items 0 0 CB_GETCOUNT GetID: self SendDlgItemMessage: parent 0 max --- 187,192 ---- ;M :M GetCount: ( -- n1 ) \ n1 = count of items + \ *G Use: GetCount: to get the count of items in the combo box string list 0 0 CB_GETCOUNT GetID: self SendDlgItemMessage: parent 0 max *************** *** 186,189 **** --- 194,198 ---- :M Start: ( Parent -- ) + \ *G Create the control TO Parent z" COMBOBOX" Create-Control *************** *** 197,215 **** ;M - ;Class ! :Class ComboListControl <Super ComboControl \ select only combo box :M WindowStyle: ( -- Style ) ! WindowStyle: SUPER ! CBS_DROPDOWNLIST OR ! ;M ;Class ! :Class ListControl <Super CONTROL \ a list box :M WindowStyle: ( -- Style ) WindowStyle: SUPER [ WS_VSCROLL LBS_NOTIFY OR LBS_NOINTEGRALHEIGHT OR WS_TABSTOP OR ] literal OR --- 206,231 ---- ;M ;Class + \ *G End of ComboControl class ! \ *W <a name="ComboListControl"></a> ! \ *S ComboListControl class ! :Class ComboListControl <Super ComboControl ! \ *G Class for select only combo box controls. :M WindowStyle: ( -- Style ) ! \ *G Get the window style of the control ! WindowStyle: SUPER CBS_DROPDOWNLIST OR ;M ;Class + \ *G End of ComboListControl class ! \ *W <a name="ListControl"></a> ! \ *S ListControl class ! :Class ListControl <Super CONTROL ! \ *G Class for list box controls. :M WindowStyle: ( -- Style ) + \ *G Get the window style of the control WindowStyle: SUPER [ WS_VSCROLL LBS_NOTIFY OR LBS_NOINTEGRALHEIGHT OR WS_TABSTOP OR ] literal OR *************** *** 217,249 **** :M Start: ( Parent -- ) TO Parent z" LISTBOX" Create-Control ;M ;Class :Class GroupControl <Super CONTROL :M WindowStyle: ( -- Style ) ! WindowStyle: SUPER ! BS_GROUPBOX OR ! ;M :M Start: ( Parent -- ) TO Parent z" BUTTON" Create-Control ;M ;Class :Class StaticControl <Super CONTROL :M Start: ( Parent -- ) TO Parent z" STATIC" Create-Control ;M ;Class :Class CheckControl <Super CONTROL :M WindowStyle: ( -- style ) WindowStyle: SUPER [ BS_AUTOCHECKBOX WS_TABSTOP OR ] literal OR --- 233,280 ---- :M Start: ( Parent -- ) + \ *G Create the control TO Parent z" LISTBOX" Create-Control ;M ;Class + \ *G End of ListControlControl class + \ *W <a name="GroupControl"></a> + \ *S GroupControl control class :Class GroupControl <Super CONTROL + \ *G Class for group controls. :M WindowStyle: ( -- Style ) ! \ *G Get the window style of the control ! WindowStyle: SUPER BS_GROUPBOX OR ;M :M Start: ( Parent -- ) + \ *G Create the control TO Parent z" BUTTON" Create-Control ;M ;Class + \ *G End of GroupControl class + \ *W <a name="StaticControl"></a> + \ *S StaticControl control class :Class StaticControl <Super CONTROL + \ *G Class for static controls. :M Start: ( Parent -- ) + \ *G Create the control TO Parent z" STATIC" Create-Control ;M ;Class + \ *G End of StaticControl class + \ *W <a name="CheckControl"></a> + \ *S CheckControl control class :Class CheckControl <Super CONTROL + \ *G Class for check box controls. :M WindowStyle: ( -- style ) + \ *G Get the window style of the control WindowStyle: SUPER [ BS_AUTOCHECKBOX WS_TABSTOP OR ] literal OR *************** *** 251,254 **** --- 282,286 ---- :M Start: ( Parent -- ) + \ *G Create the control TO Parent z" BUTTON" Create-Control *************** *** 256,263 **** --- 288,300 ---- ;Class + \ *G End of CheckControl class + \ *W <a name="RadioControl"></a> + \ *S RadioControl control class :Class RadioControl <Super CONTROL + \ *G Class for radio button controls. :M WindowStyle: ( -- style ) + \ *G Get the window style of the control WindowStyle: SUPER [ BS_AUTORADIOBUTTON WS_TABSTOP OR ] literal OR *************** *** 265,268 **** --- 302,306 ---- :M Start: ( Parent -- ) + \ *G Create the control TO Parent z" BUTTON" Create-Control *************** *** 270,275 **** --- 308,317 ---- ;Class + \ *G End of RadioControl class + \ *W <a name="ButtonControl"></a> + \ *S ButtonControl control class :Class ButtonControl <Super CONTROL + \ *G Class for push button controls. int buttonfunc *************** *** 281,288 **** :M SetFunc: ( cfa -- ) ! to buttonfunc ! ;M :M WindowStyle: ( -- style ) WindowStyle: SUPER [ BS_PUSHBUTTON WS_TABSTOP OR ] literal OR --- 323,332 ---- :M SetFunc: ( cfa -- ) ! \ *G Set the button function. This function es executed when the ! \ ** button is pressed whith a click with the left mouse button ! to buttonfunc ;M :M WindowStyle: ( -- style ) + \ *G Get the window style of the control WindowStyle: SUPER [ BS_PUSHBUTTON WS_TABSTOP OR ] literal OR *************** *** 290,293 **** --- 334,338 ---- :M Start: ( Parent -- ) + \ *G Create the control to Parent z" BUTTON" Create-Control *************** *** 296,300 **** :M WM_LBUTTONUP ( h m w l -- res ) hWnd get-mouse-xy hWnd in-button? ! if buttonfunc execute then old-wndproc CallWindowProc --- 341,345 ---- :M WM_LBUTTONUP ( h m w l -- res ) hWnd get-mouse-xy hWnd in-button? ! if buttonfunc execute then old-wndproc CallWindowProc *************** *** 302,305 **** --- 347,351 ---- ;Class + \ *G End of ButtonControl class \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ *************** *** 307,312 **** \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! :CLASS DialogWindow <Super Window :M ClassInit: ( -- ) --- 353,360 ---- \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! \ *W <a name="DialogWindow"></a> ! \ *S Dialog Window Class :CLASS DialogWindow <Super Window + \ *G Base class for windows that contains controls. :M ClassInit: ( -- ) *************** *** 319,322 **** --- 367,373 ---- ;Class + \ *G End of DialogWindow class + + \ *Z \s ********* SAMPLE Follows ********* SAMPLE Follows ********* Index: Dialog.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/Dialog.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Dialog.f 26 Dec 2005 09:28:23 -0000 1.3 --- Dialog.f 31 Dec 2005 11:12:44 -0000 1.4 *************** *** 7,37 **** cr .( Loading Dialog Box...) ! \ -------------------- Load Dialog Resource File -------------------- ! ! (( ! The .RES file structure is a series of records. Each record contains ! a header and a data field. The structure of a header is as follows: ! ! offset length ! 0 4 length of data field ! 4 4 length of header ! 10 2 record type ! 14 2 dialog ID number (for dialogs) ! )) ! ! \ Given the address of a header in a resource file, return true if this ! \ is the header for a dialog resource. I'm only guessing here. : dialogID? ( hdr ID -- f ) over 14 + w@ = \ does ID match swap 10 + w@ 5 = and ; \ is this also a dialog - \ Find dialog template given address and length of resource file in memory. - : ?dlgerr ( ior -- ) abort" Error loading dialog resource" ; \ April 18th, 1996 tjz switched to LONG count from WORD count : find-dialog-ID ( id addr -- address-of-template-header ) swap >r lcount --- 7,32 ---- cr .( Loading Dialog Box...) ! \ *S Load Dialog Resource File ! \ *P The .RES file structure is a series of records. Each record contains ! \ ** a header and a data field. The structure of a header is as follows: ! \ *L ! \ *| offset | length | | ! \ *| 0 | 4 | length of data field | ! \ *| 4 | 4 | length of header | ! \ *| 10 | 2 | record type | ! \ *| 14 | 2 | dialog ID number (for dialogs) | : dialogID? ( hdr ID -- f ) + \ *G Given the address of a header in a resource file, return true if this + \ ** is the header for a dialog resource. I'm only guessing here. over 14 + w@ = \ does ID match swap 10 + w@ 5 = and ; \ is this also a dialog : ?dlgerr ( ior -- ) abort" Error loading dialog resource" ; \ April 18th, 1996 tjz switched to LONG count from WORD count : find-dialog-ID ( id addr -- address-of-template-header ) + \ *G Find dialog template given address and length of resource file in memory. swap >r lcount *************** *** 60,74 **** r> close-file ?dlgerr ; - \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ - \ Load template from dialog resource to here and allot memory - \ Usage: load-dialog dialog - \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ - - \ create ld-buf maxstring allot \ needs to be long enough to hold a path too - - \ changed to work with blanks in file name \ January 31st, 2004 - 20:38 dbu : load-dialog ( -<filename-without-an-extension>- ) { \ ld-buf -- } maxstring localalloc: ld-buf --- 55,63 ---- r> close-file ?dlgerr ; \ changed to work with blanks in file name \ January 31st, 2004 - 20:38 dbu : load-dialog ( -<filename-without-an-extension>- ) + \ *G Load template from dialog resource (*.res) to here and allot memory. \n + \ ** Usage: load-dialog dialog { \ ld-buf -- } maxstring localalloc: ld-buf *************** *** 89,96 **** in-application ! \ -------------------- Dialog Class -------------------- ! :CLASS Dialog <SUPER Dialog&Control \ generic-window ! : (DialogProc) ( hwnd msg wparam lparam -- res ) --- 78,88 ---- in-application ! \ *W <a name="Dialog"></a> ! \ *S Dialog Class :CLASS Dialog <SUPER Dialog&Control \ generic-window ! \ *G Dialog class. \n ! \ ** To use this class you have to create a ressource file (*.res) whitch must contain ! \ ** the dialog resource. Since Win32Forth doesn't provide any tool's to create a dialog ! \ ** resource you should use ForthForm to create your dialog windows instead. : (DialogProc) ( hwnd msg wparam lparam -- res ) *************** *** 151,158 **** --- 143,152 ---- :M Start: ( parent -- flag ) + \ *G Open the dialog GetTemplate: [ self ] run-dialog ;M :M EndDialog: ( return-value -- ) + \ *G Close the dialog hwnd Call EndDialog drop ;M *************** *** 166,171 **** :M WM_INITDIALOG swap On_Init: [ self ] ;M ! :M On_Init: ( hwndfocus -- f ) drop 1 ;M ! \ -------------------- Process Commands from Controls -------------------- --- 160,166 ---- :M WM_INITDIALOG swap On_Init: [ self ] ;M ! :M On_Init: ( hwndfocus -- f ) ! \ *G Init the dialog ! drop 1 ;M \ -------------------- Process Commands from Controls -------------------- *************** *** 176,179 **** --- 171,175 ---- :M On_Command: ( hCtrl code ID -- f ) + \ *G Process Commands from Controls case *************** *** 191,194 **** --- 187,191 ---- ;Class + \ *G End of Dialog class \ December 11th, 2003 jeh, In order to use ModelessDialog you must extend the *************** *** 198,202 **** --- 195,205 ---- \ not required, only the GetTemplate method is required. + \ *W <a name="ModelessDialog"></a> + \ *S Modless Dialog class :Class ModelessDialog <SUPER Dialog + \ *G Modless Dialog class \n + \ ** To use this class you have to create a ressource file (*.res) whitch must contain + \ ** the dialog resource. Since Win32Forth doesn't provide any tool's to create a dialog + \ ** resource you should use ForthForm to create your dialog windows instead. int hTemplate *************** *** 209,212 **** --- 212,216 ---- :M WindowStyle: ( -- n1 ) + \ *G Get the window style of the dialog. GetTemplate: [ self ] dup if dup cell+ @ + @ *************** *** 215,218 **** --- 219,223 ---- :M ExWindowStyle: ( -- n1 ) + \ *G Get the extended window style of the dialog. GetTemplate: [ self ] dup if dup cell+ @ + cell+ @ *************** *** 221,224 **** --- 226,230 ---- :M Origin: ( -- x y ) + \ *G Get the origin (upper left corner) of the dialog. GetTemplate: [ self ] ?dup if dup cell+ @ + 2 cells+ 2 + @ word-split *************** *** 250,253 **** --- 256,260 ---- :M Start: ( parent -- ) + \ *G Open the dialog hTemplate 0= if GetTemplate: [ self ] *************** *** 259,262 **** --- 266,270 ---- :M EndDialog: ( n1 -- ) + \ *G Close the dialog drop DestroyWindow: self *************** *** 276,283 **** ;Class \ *Z - - - - --- 284,288 ---- ;Class + \ *G End of ModlessDialog class \ *Z Index: CONTROL.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/CONTROL.F,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CONTROL.F 26 Dec 2005 09:28:23 -0000 1.5 --- CONTROL.F 31 Dec 2005 11:12:44 -0000 1.6 *************** *** 46,49 **** --- 46,53 ---- \ -------------------- Control Class -------------------- + \ Support for displaying tool tips; used by the oldstyle buttonbars (e.g. in WinEd). + \ Since we have a mutch better toolbar class in Win32Forth for some time now, I + \ (dbu) didn't spend the time to see how this works. And so I didn't document it. + INTERNAL \ definitions accessible while defining a buttonbar *************** *** 62,66 **** EXTERNAL \ definitions always accessible ! TRUE value info-flag \ are we displaying tool tips FALSE value mouse-is-down? --- 66,70 ---- EXTERNAL \ definitions always accessible ! TRUE value info-flag \ are we displaying tool tips FALSE value mouse-is-down? *************** *** 80,84 **** between and ; ! :Class Control <Super Dialog&Control \ Generic-Window \ The following definition must directly precede old-wndproc to work correctly --- 84,93 ---- between and ; ! \ *W <a name="Control"></a> ! \ *S Generic Control class ! :Class Control <Super Dialog&Control ! \ *G Generic control class. \n ! \ ** Since Control is a generic class it should not be used to create ! \ ** any instances. \ The following definition must directly precede old-wndproc to work correctly *************** *** 97,101 **** int timering? \ are we opening a popup info window int timerclosed? \ has popup been closed ! int auto-close? \ does info window automatically close after a time? max-binfo 1+ bytes binfo --- 106,110 ---- int timering? \ are we opening a popup info window int timerclosed? \ has popup been closed ! int auto-close? \ does info window automatically close after a time? max-binfo 1+ bytes binfo *************** *** 124,135 **** \ -------------------- SubClassing -------------------- ! \ : subclass ( -- ) ! \ 0xE8909090 thunk ! ( call ) ! \ subclass-entry thunk 2 cells+ - thunk cell+ ! ( offset ) ! \ thunk 2 cells+ dup ! ( relocate offset ) ! \ thunk GWL_WNDPROC hWnd Call SetWindowLong ! \ to old-wndproc ; ! ! : subclass ( -- ) (controllock) code-here \ for SetWindowLong to pick up --- 133,137 ---- \ -------------------- SubClassing -------------------- ! : subclass ( -- ) (controllock) code-here \ for SetWindowLong to pick up *************** *** 155,188 **** :M GetParent: ( -- parent ) ! parent ! ;M :M GetHandleOfParent: ( -- handleofparent ) ! handleofparent ! ;M :M SetID: ( id -- ) ! to id ! ;M :M GetID: ( -- id ) ! id ! ;M :M ExWindowStyle: ( -- exstyle ) 0 ;M :M WindowStyle: ( -- style ) [ WS_CHILD WS_VISIBLE or ] literal ;M ! :M StartSize: ( -- width height ) 0 0 ;M \ override to change ! :M StartPos: ( -- left top ) 0 0 ;M \ override to change ! \ this pointer to a structure, depends on what kind of window you are ! \ creating, so we just default it to NULL :M CreateStruct: ( -- CreateStrucPointer ) ! NULL ! ;M : create-control ( z"classname" -- ) --- 157,198 ---- :M GetParent: ( -- parent ) ! \ *G Get the parent window of this control. ! parent ;M :M GetHandleOfParent: ( -- handleofparent ) ! \ *G Get the window handle of the parent window of this control. ! handleofparent ;M :M SetID: ( id -- ) ! \ *G Set the ID of this control. Normaly you don't need to do this, because ! \ ** every control get's an unique ID when it's created. ! to id ;M :M GetID: ( -- id ) ! \ *G Get the ID of this control ! id ;M :M ExWindowStyle: ( -- exstyle ) + \ *G Get the extended window style of this control 0 ;M :M WindowStyle: ( -- style ) + \ *G Get the window style of this control [ WS_CHILD WS_VISIBLE or ] literal ;M ! :M StartSize: ( -- width height ) ! \ *G Get the start size of this control. \n ! \ ** Override this method to change it. ! 0 0 ;M \ ! :M StartPos: ( -- left top ) ! \ *G Get the start position of this control. \n ! \ ** Override this method to change it. ! 0 0 ;M :M CreateStruct: ( -- CreateStrucPointer ) ! \ *G This pointer to a structure, depends on what kind of window you are ! \ ** creating, so we just default it to NULL. ! NULL ;M : create-control ( z"classname" -- ) *************** *** 204,207 **** --- 214,221 ---- ; + \ Support for displaying tool tips; used by the oldstyle buttonbars (e.g. in WinEd). + \ Since we have a mutch better toolbar class in Win32Forth for some time now, I + \ (dbu) didn't spend the time to see how this works. And so I didn't document it. + 1 constant INFO_START_TIMER \ timer constant 2 constant INFO_END_TIMER \ timer constant *************** *** 217,230 **** :M BInfo: ( -- a1 ) \ return the counted string of button info ! binfo ! ;M ! :M SetAutoClose: ( flag -- ) \ set the state of the automatic infor close feature ! to auto-close? ! ;M :M GetAutoClose: ( -- flag ) ! auto-close? ! ;M :M WM_TIMER ( h m w l -- res ) --- 231,241 ---- :M BInfo: ( -- a1 ) \ return the counted string of button info ! binfo ;M ! :M SetAutoClose: ( flag -- ) \ set the state of the automatic info close feature ! to auto-close? ;M :M GetAutoClose: ( -- flag ) ! auto-close? ;M :M WM_TIMER ( h m w l -- res ) *************** *** 266,271 **** :M amForground?: ( -- f1 ) ! TRUE ! ;M :M On_MouseMove: ( h m w -- ) --- 277,281 ---- :M amForground?: ( -- f1 ) ! TRUE ;M :M On_MouseMove: ( h m w -- ) *************** *** 297,300 **** --- 307,311 ---- ;Class + \ *G End of Control class module |
From: Dirk B. <db...@us...> - 2005-12-31 11:13:05
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26368/src/lib Modified Files: file.f Log Message: More documentation added. Index: file.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/file.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** file.f 21 Aug 2005 06:22:01 -0000 1.5 --- file.f 31 Dec 2005 11:12:44 -0000 1.6 *************** *** 245,247 **** --- 245,266 ---- ;Class + \ ReadFile MyDumpFile + \ + \ : DumpFile ( addr len -- ) + \ + \ \ Load the file into memory + \ LoadFile: MyDumpFile + \ if \ get the address and length of the file buffer + \ GetBuffer: MyDumpFile ( addr len ) + \ + \ \ do something with the file data + \ dump + \ + \ \ don't forget to close the file + \ Close: MyDumpFile + \ else abort" Can't read file." + \ then ; + \ + \ s" temp.f" DumpFile + module |
From: Dirk B. <db...@us...> - 2005-12-31 11:13:05
|
Update of /cvsroot/win32forth/win32forth/src/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26368/src/tools Modified Files: DexH-CreateDocs.f Log Message: More documentation added. Index: DexH-CreateDocs.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/tools/DexH-CreateDocs.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DexH-CreateDocs.f 26 Dec 2005 09:28:23 -0000 1.2 --- DexH-CreateDocs.f 31 Dec 2005 11:12:44 -0000 1.3 *************** *** 18,21 **** --- 18,22 ---- s" src\dialog.f" create-doc s" src\control.f" create-doc + s" src\controls.f" create-doc \ GDI class library |
From: Dirk B. <db...@us...> - 2005-12-31 11:13:05
|
Update of /cvsroot/win32forth/win32forth/src/gdi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26368/src/gdi Modified Files: gdiBrush.f Log Message: More documentation added. Index: gdiBrush.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/gdi/gdiBrush.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** gdiBrush.f 26 Dec 2005 09:28:23 -0000 1.3 --- gdiBrush.f 31 Dec 2005 11:12:44 -0000 1.4 *************** *** 220,226 **** \ DIBPattern brush class \ ---------------------------------------------------------------------- ! \ *W <a name="gdiHatchBrush"></a> :class gdiDIBPatternBrush <super gdiBrush ! \ *G DIBPattern brush class :M ClassInit: ( -- ) --- 220,226 ---- \ DIBPattern brush class \ ---------------------------------------------------------------------- ! \ *W <a name="gdiDIBPatternBrush"></a> :class gdiDIBPatternBrush <super gdiBrush ! \ *G DIB Pattern brush class :M ClassInit: ( -- ) |