X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2Fgeos.sgml;h=ec9d66b1aae5636484946ccfc38d516fdbdc08e7;hb=74455508314bc2b007e812ec5f9429496b9fbd5f;hp=eb8d749392817baf4f294c3fa9f9c3c3495904fc;hpb=a6b04f6e97b59ca0ad1cc98dbd91ad600c0414a8;p=cc65 diff --git a/doc/geos.sgml b/doc/geos.sgml index eb8d74939..ec9d66b1a 100644 --- a/doc/geos.sgml +++ b/doc/geos.sgml @@ -68,19 +68,19 @@ programs. The software needed: . + can get it from: . . - The VICE package contains the . + The VICE package contains the . + object files from a PC to a 1541. There's also one important ability of this + tool - it automatically un-converts .cvt files into GEOS native format on + disk image files. Check out: . . + other Commodore IEC bus drives. It can be a replacement for Star Commander if + you only want to transfer files to a disk and unconvert using GEOS program for + this purpose. Check out: .

VICE and cc65 are portable - they run on variety of platforms - DOS, Win32 and UNIX. GEOSLib only @@ -387,7 +387,7 @@ and the number of rows to skip from the top if it. BitOtherClip

Similar to the previous one with some extension. File and Disk @@ -1452,9 +1452,9 @@ void example = { Which will be compiled to following string of bytes: _example: - .byte 3 - .word 3 - .byte 0 + .byte 3 + .word 3 + .byte 0 As you see this way it is possible to define data of any type in any order. You must remember to cast each member to proper type. @@ -1474,21 +1474,21 @@ just in the content. Here is how a single descriptor looks like: void myMenu = { - (char)top, (char)bottom, // this is the size of the menubox - (unsigned)left, (unsigned)right, // counting all items in the current descriptor - (char)number_of_items | type_of_menu, // number of following items ORed with - // type of this menu, it can be either - // HORIZONTAL or VERTICAL if you will have also bit 6 set then menu won't be closed - // after moving mouse pointer outside the menubox. You can have at most 31 items. + (char)top, (char)bottom, // this is the size of the menubox + (unsigned)left, (unsigned)right, // counting all items in the current descriptor + (char)number_of_items | type_of_menu, // number of following items ORed with + // type of this menu, it can be either + // HORIZONTAL or VERTICAL if you will have also bit 6 set then menu won't be closed + // after moving mouse pointer outside the menubox. You can have at most 31 items. This is followed by - ... - "menuitemname", (char)item_type, (unsigned)pointer, - "nextitemname", (char)item_type, (unsigned)pointer, - ... - "lastitemname", (char)item_type, (unsigned)pointer }; - // Note that there isn't ending const dlgBoxStr example = { - DB_DEFPOS (pattern_of_shadow), - ... // commands - DB_END }; + DB_DEFPOS (pattern_of_shadow), + ... // commands + DB_END }; And the own size and position would be: const dlgBoxStr example = { - DB_SETPOS (pattern, top, bottom, left, right) - ... // commands - DB_END }; + DB_SETPOS (pattern, top, bottom, left, right) + ... // commands + DB_END }; Commands @@ -1539,9 +1539,9 @@ The next element of the - ... - DB_ICON(OK, DBI_X_0, DBI_Y_0), - ... + ... + DB_ICON(OK, DBI_X_0, DBI_Y_0), + ... Note that the position is counted from top left corner of window, not entire screen and that the 'x' position is counted in cards (8-pixel) and not in pixels. This is also true for all following commands. @@ -1555,11 +1555,11 @@ where the address of the text is stored. This is useful for information windows is variable. Consider following: char text = "foo"; - ... - r15=(unsigned)text; // in code just before call to DoDlgBox - ... - DB_VARSTR (TXT_LN_X, TXT_LN_1_Y, &r15), - ... + ... + r15=(unsigned)text; // in code just before call to DoDlgBox + ... + DB_VARSTR (TXT_LN_X, TXT_LN_1_Y, &r15), + ... will cause the word ''foo'' to appear in the window, but you may store the pointer to any text in const graphicStr example = { - MOVEPENTO(0,0), - NEWPATTERN(0), - RECTANGLETO(319,199) - GSTR_END }; + MOVEPENTO(0,0), + NEWPATTERN(0), + RECTANGLETO(319,199) + GSTR_END }; InitRam table @@ -1623,17 +1623,17 @@ It is possible to intercept events and hook into the GEOS Kernal using vectors. void_func oldVector; void NewVectorHandler(void) { - // do something and at the end call the old vector routine - oldVector(); + // do something and at the end call the old vector routine + oldVector(); } void hook_into_system(void) { - oldVector = mouseVector; - mouseVector = NewVectorHandler; + oldVector = mouseVector; + mouseVector = NewVectorHandler; } void remove_hook(void) { - mouseVector = oldVector; + mouseVector = oldVector; }

@@ -1655,10 +1655,10 @@ That little example above intercepts -