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
- -