first commit - moved from local dev to git

This commit is contained in:
firebee
2022-10-02 10:09:40 +02:00
commit bbb3ef9333
1861 changed files with 167960 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,11 @@
UniLay.cnf f<>r Fly Dials
#[FlyD]
#02 ff00 1100 0000 0000 0000 0000 Eselsohr
#03 ff00 1200 0004 0004 0000 0000 Exit-Button
#05 ff00 1200 0010 0010 0000 0000 Radio-Button
#04 ff00 1200 0000 0000 0000 0000 Check-Button
#06 ff00 1300 0000 0000 0000 0000 unterstrichener Text (<28>berschrift)
#07 ff00 1400 0000 0000 0000 0000 Gruppen-Rahmen

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,17 @@
in2rsm.rim v1.2 f<>r den Import
******************************
IN2RSM wird installiert, in dem "in2rsm.rim" in den "modules"-Ordner kopiert
wird und in der rsm.inf eingetragen wird. Was in die "rsm.inf" eigetragen
werden kann wird im folgenden aufgelistet. Die Reihenfolge der Eintragungen
bestimmt die priorit<69>t.
HRD-Datei:
#Fiin2rsm@HRD@hrd@HRD@ HRD-File@
RSO-Datei (RCS von Th.Otto)
#Fiin2rsm@RSO@rso@RSO@ RSO-File@
RSD-Datei:
#Fiin2rsm@RSD@rsd@RSD@ RSD-File@

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,69 @@
#ifndef _OVL_H
#define _OVL_H
typedef LONG RSC_H;
typedef struct
{
WORD Protokoll;
/* ab RSM2OVL.Protokoll >= 1 */
RSC_H (*RscLoad)(const char* RscFile, LONG Mode);
void (*RscFree)(RSC_H ResourceHandle);
OBJECT* (*RscGetTree)(RSC_H ResourceHandle, LONG Index);
char* (*RscGetSring)(RSC_H ResourceHandle, LONG Index);
BITBLK* (*RscGetImage)(RSC_H ResourceHandle, LONG Index);
void (*ConvertTree)(OBJECT* Tree, LONG Mode);
} RSM2OVL;
typedef struct
{
OBJECT* DialToolbox; /* Die Toolbox f<>r Dialoge */
OBJECT* MenuToolbox; /* Die Toolbox f<>r Men<65>s */
OBJECT* MenuDrop; /* Wird im Men<65> ein Title eingef<65>gt, */
/* dann wird dieser Baum als Drop verwendet.*/
OBJECT* StdDialog; /* Soll ein neuer Dialog angelegt werden, */
/* dann wird dieser Baum verwendet. */
OBJECT* StdMenu; /* Soll ein neues Men<65> angelegt werden, */
/* dann wird dieser Baum verwendet. */
} TOOLS;
typedef WORD (*EVENTHANDLER)(EVNT* Evnt);
typedef WORD (*INITEVENTHANDLER)(EVENTHANDLER EventHandler);
typedef const char* (*GETOBNAME)(LONG Idx);
typedef struct
{
LONG Magic; /* 0x4f424a43 'OBJC' */
WORD Protokoll;
LONG ID;
WORD Version;
char Name[32];
char Copyright[32];
WORD (*Init)(const char* FileName, UWORD* Global, RSM2OVL* RsmOvl, TOOLS* Tools);
void (*Exit)();
WORD (*Draw)(OBJECT* Objc, LONG* Clip, LONG Flags);
/* ab OVL2RSM.Protokoll >= 1 */
WORD (*GetMinSize)(OBJECT* Objc, LONG Flags, WORD* MinW, WORD* MinH);
void (*GetArea)(OBJECT* Objc, LONG Flags, GRECT* Area);
WORD (*SetUp)(INITEVENTHANDLER InitEventHandler);
/* ab OVL2RSM.Protokoll >= 2 */
WORD (*Test)(LONG Mode, LONG Resource, LONG Idx, GETOBNAME GetObName, INITEVENTHANDLER InitEventHandler);
LONG (*GetShortCut)(OBJECT* Objc, LONG Flags, char ShortCut[10]);
} OVL2RSM;
#endif /* _OVL_H */

View File

@@ -0,0 +1,34 @@
#include <portab.h>
#include <osbind.h>
#include <string.h>
#include <basepage.h>
#include <gemfast.h>
#include "ovl.h"
extern OVL_RSM Overlay;
char Cmp[] = "RSMOVL";
WORD start(BASEPAGE* BasePage)
{
WORD Ret = 1;
if(BasePage->p_cmdlin[0] == 14)
{
if(!strncmp(&BasePage->p_cmdlin[1], Cmp, 6))
{
LONG Adr = 0;
char* Pos = &BasePage->p_cmdlin[7];
WORD i;
for(i=0; i<8; i++)
{
Adr <<= 4;
Adr |= *Pos++ - 'A';
}
*((OVL2RSM**)Adr) = &Overlay;
Ret = 0;
}
}
Pterm(Ret);
}

Binary file not shown.

View File

@@ -0,0 +1,22 @@
static vars=TRUE
short file=FALSE
blank lines=TRUE
object numbers=TRUE
init te_ptext=TRUE
no init function=FALSE
init function=rs_init
exit function=rs_exit
ciconinit function=rs_ciconinit
ciconexit function=rs_ciconexit
optimize images=FALSE
optimize strings=TRUE
optimize icontext=FALSE
optimize substrings=FALSE
optimize emtystrings=TRUE
includes=
ob_spec=long
ub_code=long
ub_parm=long
draw function=mydraw
obfix function=rsrc_obfix
bi_pdata=int

Binary file not shown.

View File

@@ -0,0 +1,18 @@
rsm2cs.rem v1.03 f<>r den Export als C-Sourcen
*********************************************
RSM2CS wird installiert, in dem "rsm2cs.rem" und "rsm2cs.cnf" in den
"modules"-Ordner kopiert wird und in der rsm.inf folgende Zeile eingetragen
wird:
#foC-Source@rsm2cs@1@c@h@@C-Sou[rce@1@
^ ^ ^
| | |
wird hier eine '0' | | |
eingetragen, dann < | |
erscheint der Dialog | |
nur bei gedr<64>ckter | |
SHIFT-Taste | |
| |
Sollen andere Dateien (als *.c + *.h) erzeugt werden, dann mu<6D> die Zeile
entsprechend ge<67>ndert werden.

View File

@@ -0,0 +1,76 @@
/*************************************************************
* *
* Beispiele f<>r cicon_init() und cicon_exit() *
* Autor: Armin Diedering *
* WWW: http://www.Diedering.de *
* *
*************************************************************/
#include <portab.h>
#include <gemfast.h>
/* Folgende Funktionen werden Ben<65>tigt */
WORD CountOfPlanes(); /* liefert die Anzahl der Planes der aktuellen */
/* Aufl<66>sung zur<75>ck */
WORD CanCicon(); /* gibt Auskunft, ob das System CICONs kann */
WORD IsMagiC(); /* Ist MagiC das OS ? */
/* Jetzt gehts aber los */
long rs_ciconinit(CICONBLK *ciconblks, int ncib, OBJECT *objects, int nobj)
{
if(CanCicon())
{
if(IsMagiC())
{
while(ncib--) /* siehe rsm2cs.hyp */
{
CICON *cicon = ciconblks->mainlist;
CICON *found = cicon;
WORD planes = 0;
while(cicon) /* passende Farbzahl suchen */
{
if(cicon->num_planes <= CountOfPlanes()) /* kann das OS dieses Icon? */
{
if(cicon->num_planes > planes) /* sind es mehr Planes als */
{ /* ich schon gefunden habe? */
found = cicon;
planes = found->num_planes; /* das merk ich mir */
}
}
cicon = cicon->next_res; /* n<>chste Farbzahl */
}
ciconblks->mainlist = found; /* gefundesnes setzen */
ciconblks++; /* n<>chstes Icon */
}
}
else
{
/* Hier wirds jetz aber kompliziert. man mu<6D> CICON f<>r CICON durchgehen. */
/* Dabei sollte man erst einmal die passende Farbzahl (<28>hnlich wie bei */
/* MagiC s.o.) suchen und setzen. Dann m<>ssen die gefundenen Bilddaten, */
/* die ja im Standrd-Format vorliegen in das ger<65>teabh<62>ngige Format */
/* gewandelt werden. */
/* wie das zu bewerkstelligen ist <20>berlasse ich eurer Fantasie ;-) */
}
}
else /* das System kann gar keine CICONs */
{
while(nobj--) /* dann alle CICONs in ICONs <20>ndern */
{
if((objects->ob_type & 0xff) == G_CICON)
objects->ob_type = (objects->ob_type & ~0xff) | G_ICON;
objects++;
}
}
return(0);
}
void rs_ciconexit(long deskriptor)
{
}

View File

@@ -0,0 +1,21 @@
static vars=TRUE
short file=FALSE
blank lines=TRUE
object numbers=TRUE
init te_ptext=TRUE
no init function=FALSE
init function=rs_init
exit function=rs_exit
ciconinit function=rs_ciconinit
ciconexit function=rs_ciconexit
optimize images=FALSE
optimize strings=TRUE
optimize icontext=FALSE
optimize substrings=FALSE
optimize emtystrings=TRUE
includes=
ob_spec=long
ub_code=long
ub_parm=long
draw function=mydraw
bi_pdata=int

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,18 @@
rsm2cs.rem v1.03 f<>r den Export als C-Sourcen
*********************************************
RSM2CS wird installiert, in dem "rsm2cs.rem" und "rsm2cs.cnf" in den
"modules"-Ordner kopiert wird und in der rsm.inf folgende Zeile eingetragen
wird:
#foC-Source@rsm2cs@1@c@h@@C-Sou[rce@1@
^ ^ ^
| | |
wird hier eine '0' | | |
eingetragen, dann < | |
erscheint der Dialog | |
nur bei gedr<64>ckter | |
SHIFT-Taste | |
| |
Sollen andere Dateien (als *.c + *.h) erzeugt werden, dann mu<6D> die Zeile
entsprechend ge<67>ndert werden.

Binary file not shown.

View File

@@ -0,0 +1,38 @@
rsm2out.rem v1.97 f<>r den Export
********************************
RSM2OUT wird installiert, in dem "rsm2out.rem" in den "modules"-Ordner
kopiert wird und in der rsm.inf eingetragen wird. Was in die "rsm.inf"
eigetragen werden kann wird im folgenden aufgelistet. Die <20>ffnende eckige
Klammer bestimmt den ShortCut.
HRD-Datei:
#foHRD@rsm2out@HRD@hrd@@@ [HRD-File@
C-Header-Datei:
#foC-Header@rsm2out@C-Header@h@@@ [C-Header@
Assembler:
#foAssem@rsm2out@Assem@s@@@ A[ssembler@
Modula:
#foModula@rsm2out@Modula@def@mod@@ [Modula@
Pascal:
#foPascal@rsm2out@Pascal@i@@@ [Pascal@
Fortran:
#foFortran@rsm2out@Fortran@inc@@@ [Fortran@
Omikron.BASIC:
#foOBasic@rsm2out@OBasic@lst@@@ OMICRON.[BASIC@
GFA-BASIC:
#foGBasic@rsm2out@GBasic@lst@@@ [GFA Basic@
HiSoft-BASIC:
#foHBasic@rsm2out@HBasic@bh@@@ [HiSoft Basic@
BGH-Datei (BubbleGEM Hilfe Datei):
#FoBGH@rsm2out@BGH@bgh@@@ [BubbleGEM HELP-File@

View File

@@ -0,0 +1,36 @@
# Konfig-Datei zum SysGem-Overlay f<>r ResourceMaster ab Version 3.0
# Ein Doppelkreuz leiten einen Kommentar ein. Der Rest der Zeile wird
# ignoriert. Leerzeilen sind auch erlaubt.
# Enable3D schaltet die 3D-Darstellung ein (1) oder aus (0).
# Funktioniert nur wenn 16 Farben oder mehr zur Verf<72>gung stehen.
Enable3D=1
# SysGem kann die Buttons in zweierlei Arten zeichnen: eckig (0) und einmal
# ganz leicht abgerundet (1).
UseRoundButtons=1
# Eigene Editfelder an (1) oder aus (0)
UseOwnEditFields=0
# Rahmen um die Editfelder zeichen (1) oder nicht (0)
SetMonoEditFrame=0
# Thorsten Bergner ein (1) oder aus (0)
IchbinThorsten=0
# Folgende Werte f<>r die Farben stehen zu Verf<72>gung:
# 0 = wei<65>, 1 = schwarz, 2 = rot, 3 = gr<67>n, 4 = blau, 5 = cyan, 6 = gelb
# 7 = magenta, 8 = hellgrau, 9 = dunkelgrau, 10 = dunkelrot, 11 = dunkelgr<67>n
# 12 = dunkelblau, 13 = dunkelcyan, 14 = dunkelgelb, 15 = dunkelmagenta
# Mit diesem Kommando k<>nnen Sie einstellen, in welcher Farbe die Texte
# in den Frameboxen gezeichnet werden sollen.
FrameTextColor=2
# Mit diesem Kommando k<>nnen Sie einstellen, in welcher Farbe die Short-
# cuts gezeichnet werden sollen.
ShortCutColor=2

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,44 @@
ResourceMaster v3.0
#C 12@0@0@0@
#N 99@12@AZAazA___ _@AZAaza090___ _@@_@
#R 0@0@2@1@2@1@
#M 000@1397179725@
#T 0@1@MENUE@@15@@
#O 7@28@ME_INFO@@
#O 9@28@ME_EDIT@@
#O 10@28@ME_SLIDER@@
#O 11@28@ME_TEXT@@
#O 12@28@ME_OBJECT@@
#O 14@28@ME_QUIT@@
#T 1@2@MAIN@@9@@
#O 2@26@MA_3D@@
#O 3@26@MA_ROUND@@
#O 5@21@MA_LIST@@
#O 6@21@MA_CIRC@@
#O 7@26@MA_MOD@@
#O 8@26@MA_EXIT@@
#T 2@2@TEXTWIN1@@4@@
#O 2@26@TE_ICONS@@
#O 3@26@TE_FONT@@
#T 3@2@ICONS@@13@@
#O 1@31@IC_FOLDER@@
#O 2@20@IC_POP@@
#O 3@28@IC_FIRST@@
#O 11@28@IC_LAST@@
#O 12@31@IC_BAR@@
#T 4@2@EDIT@@13@@
#T 5@2@REITER@@7@@
#O 1@26@RE_BUTTON1@@
#O 2@26@RE_RAHMEN1@@
#O 3@26@RE_RAHMEN2@@
#O 4@26@RE_BOXCHAR@@
#O 5@26@RE_TEXT@@
#O 6@26@RE_FRAME@@
#T 6@2@BUTTONS@@15@@
#T 7@2@RAHMEN1@@20@@
#T 8@2@RAHMEN2@@18@@
#T 9@2@BOXCHARS@@33@@
#T 10@2@TEXTE@@20@@
#O 19@29@TE_EDTEXT@@
#T 11@2@FRAME@@11@@
#c 9297@

View File

@@ -0,0 +1,36 @@
# Konfig-Datei zum SysGem-Overlay f<>r ResourceMaster ab Version 3.0
# Ein Doppelkreuz leiten einen Kommentar ein. Der Rest der Zeile wird
# ignoriert. Leerzeilen sind auch erlaubt.
# Enable3D schaltet die 3D-Darstellung ein (1) oder aus (0).
# Funktioniert nur wenn 16 Farben oder mehr zur Verf<72>gung stehen.
Enable3D=1
# SysGem kann die Buttons in zweierlei Arten zeichnen: eckig (0) und einmal
# ganz leicht abgerundet (1).
UseRoundButtons=1
# Eigene Editfelder an (1) oder aus (0)
UseOwnEditFields=0
# Rahmen um die Editfelder zeichen (1) oder nicht (0)
SetMonoEditFrame=0
# Thorsten Bergner ein (1) oder aus (0)
IchbinThorsten=0
# Folgende Werte f<>r die Farben stehen zu Verf<72>gung:
# 0 = wei<65>, 1 = schwarz, 2 = rot, 3 = gr<67>n, 4 = blau, 5 = cyan, 6 = gelb
# 7 = magenta, 8 = hellgrau, 9 = dunkelgrau, 10 = dunkelrot, 11 = dunkelgr<67>n
# 12 = dunkelblau, 13 = dunkelcyan, 14 = dunkelgelb, 15 = dunkelmagenta
# Mit diesem Kommando k<>nnen Sie einstellen, in welcher Farbe die Texte
# in den Frameboxen gezeichnet werden sollen.
FrameTextColor=2
# Mit diesem Kommando k<>nnen Sie einstellen, in welcher Farbe die Short-
# cuts gezeichnet werden sollen.
ShortCutColor=2

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,49 @@
SysGem-Overlay v 0.04
=====================
Dieses kleine Programm (sgemovl.ovl) ist ein Overlay f<>r ResourceMaster
ab Version 3.0. Mit ihm ist es m<>glich schon w<>hrend der Erstellung
von Resourcen deren aussehen zu testen.
Diese Overlay ist spezielle f<>r die Objekte der Library SysGem geschrieben.
SysGem wurde programmiert von Andreas Pietsch:
http://home.t-online.de/home/a.pietsch/
F<EFBFBD>r das Overlay bin ich, Gerhard Stoll, verantwortlich. Wobei ich nur ein
Rumpfprgramm geschrieben habe. Ansonsten kommen die Originalfunktionen von
SysGem zum Einsatz.
1. Installation
===============
1.1 RSM 3.0
-----------
Einfach die Dateien "sgemovl.ovl" und "sgemovl.cnf" in den RSM-"modules"-Ordner
kopieren und in "rsm.ovl" und "rsm.cnf" umbenennen.
1.2 RSM 3.2
-----------
Einfach die Dateien "sgemovl.ovl", "sgemovl.cnf" und "sgemovl.rsc" in den
RSM-"modules"-Ordner kopieren.
2. Konfiguration
================
Neben dem eigentlichen Overlag gibt es noch die Datei "sgemovl.cnf". Dort
kann man das Verhalten des Overlays bestimmen. N<>heres kann man dort finden.
Ab der Version 3.2 von RSM kann ein Konfigurationsdialog aufgerufen werden.
<EFBFBD>ber diesen k<>nnten die verschiedenen Einstellungen ver<65>ndert werden. Zudem
stellt das Overlay eine eigene Toolbox f<>r Dialoge zur Verf<72>gung.
3. Probleme
===========
Beim verschieben von Objekten kann es zum schmieren kommen.
4. Kontakt
==========
Gerhard Stoll @ LU (MausNet) nur Mails kleiner 16 KByte

Binary file not shown.

View File

@@ -0,0 +1,11 @@
ResourceMaster v3.0 <20>
#C 5@0@0@0@
#N 99@32@AZAaza___ _@AZAaza090___ _@@_@
#R 0@0@1@1@1@1@
#M 20@
#T 0@2@DIAL_TOOL_BOX@@18@@
#T 1@2@MENU_TOOL_BOX@@5@@
#T 2@2@STD_MENU_DROP@@2@@
#T 3@2@STD_DIALOG@@1@@
#T 4@1@STD_MENUE@@17@@
#c 11989@

Binary file not shown.

View File

@@ -0,0 +1,11 @@
UniLay.cnf f<>r Fly Dials
#[FlyD]
#02 ff00 1100 0000 0000 0000 0000 Eselsohr
#03 ff00 1200 0004 0004 0000 0000 Exit-Button
#05 ff00 1200 0010 0010 0000 0000 Radio-Button
#04 ff00 1200 0000 0000 0000 0000 Check-Button
#06 ff00 1300 0000 0000 0000 0000 unterstrichener Text (<28>berschrift)
#07 ff00 1400 0000 0000 0000 0000 Gruppen-Rahmen

Binary file not shown.

View File

@@ -0,0 +1,162 @@
Universal Overlay v1.2
----------------------
Armin Diedering
letzte <20>nderung: 29.1.2000
Tabulatorweite: 3
1. Was ist UniLay ?
===================
UniLay ist ein Overlay f<>r ResourceMaster ab Version 3.0. Mit Overlays ist
es m<>glich, schon im Editor userdefinierte Objekte darzustellen.
UniLay verwendet dabei die ResourceMaster-eigenen Userdef-Objekte, die der
ResourceMaster verwendet, wenn keine MagiC-Sonder-Typen verf<72>gbar sind. Das
hat den Vortei, da<64> das Overlay mit seinen 2-3 kByte sehr klein ausf<73>llt.
Nachteilig ist es, da<64> die Objekte im Editor nicht ganz so dargestellt
werden, wie sie sp<73>ter im Programm aussehen werden. Immerhin ist aber schon
ein grober Eindruck m<>glich.
2. Installation
===============
RSM 3.0:
--------
Einfach die Dateien "unilay.ovl" und "unilay.cnf" in den RSM-"modules"-Ordner
kopieren und in "rsm.ovl" und "rsm.cnf" umbenennen.
RSM 3.2:
--------
Einfach die Dateien "unilay.ovl" und "unilay.cnf" in den
RSM-"modules"-Ordner kopieren. Da RSM 3.2 mehrere Overlays unterst<73>tzt,
k<EFBFBD>nnen die Dateien umbenannt werden und UniLay mehrfach in den
"modules"-Ordner kopiert werden. Der Dateiname f<>r die "*.ovl" und die
"*.cnf" m<>ssen dabei gleich sein (z.B. "flydials.ovl" und "flydials.cnf").
Ab RSM 3.2 kann ein Overlay eigene Toolboxen anbieten. UniLay sucht im
"modules"-Ordner nach einer Tools-Resource ("Overlay-Name.rsc"). Diese
Resource mu<6D> ganau so aufgebaut sein, wie eine RSM-Tool-Resource -> rsm.hyp.
3. Welch Objekte werden unterst<73>tzt ?
=====================================
UniLay bzw. der ResourceMaster unterst<73>tzt derzeit 7 Sonder-Objekte
- RSM_MOVEBUTTON Das bekannte Eselsohr um mit Dialoge zu fliegen.
- RSM_BUTTON Ein Button mit einem unterstrichenen Buchstaben.
- RSM_CHECKBUTTON Ein Ankreuzbutten mit/ohne unterstrichenen Buchstabe.
- RSM_RADIOBUTTON Ein Radiobutten mit/ohne unterstrichenen Buchstabe.
- RSM_UNDERLINED Ein unterstrichener String.
- RSM_GROUPBOX Ein Gruppenrahmen.
- RSM_NICELINE Eine Niceline f<>r Men<65>s.
Abgesehen von RSM_MOVEBUTTON kommen die Sonder-Objekte nur zum Einsatz, wenn
es sich um G_STRING-, G_BUTTON- oder G_TITLE-Objekte handelt.
Bei RSM_BUTTON, RSM_CHECKBUTTON und RSM_RADIOBUTTON wird der unterstrichenen
Buchstabe durch eine eckige Klammer im Buttontext gekennzeichnet. Oder aber
auch MagiC-like durch das Setzen von Whitebak. Die Position wird dann durch
die Bits 8-11 von ob_states bestimmt.
Die MagiC-Methode hat Vorrang.
4. Wie Konfiguriere ich UniLay ?
================================
UniLay l<>d bei der Initialisierung die Datei "unilay.cnf". In dieser
CNF-Datei wird festgelegt, f<>r welche Objekte das Overlay aktiv werden soll.
Die Datei mu<6D> mit folgender Zeile eingeleitet werden!
------------Schnipp-----------
#[xxxx]
------------Schnapp-----------
Damit wird die ID des Overlays festgelegt ("xxxx" steht dabei f<>r 4
beliebige Zeichen). Wer verschiedene CNF-Dateien verwenden will (oder mu<6D>),
sollte f<>r jede CNF eine ID vergeben. Da die ID des Overlays auch in der
*.rsm-Datei gespeichert wird, aktiviert RSM das Overlay nur dann, wenn die
IDs <20>bereinstimmen.
Um Konflikte mit <20>ffentlichen Overlays zu vermeiden, sollten private IDs mit
einem '_' beginnen z.B. so "#[_AO1]" (Armins Overlay Nr.1).
Dann kommen die Objekt-Zeilen.
Jede g<>ltige Objekt-Zeile hat folgenden Aufbau:
------------Schnipp-----------
#00 0000 0000 0000 0000 0000 0000 Kommentar
------------Schnapp-----------
Also sie wird immer mit einem Doppelkreuz (am Anfang der Zeile) eingeleitet.
Dem Doppelkreuz folgen 7 hexadezimal codierte und durch Leerzeichen
getrennte Zahlen. Dabei ist die Erste immer zweistellig und der Rest
vierstellig. Ein optionaler Kommentar mu<6D> durch Leerzeichen oder TABs von
der letzten Zahl getrennt sein.
Die Erste Zahl bestimmt die Sonder-Objekt-Nummer. Dabei gilt:
0 -> NICHTS_ZEICHNEN
2 -> RSM_MOVEBUTTON
3 -> RSM_BUTTON
4 -> RSM_CHECKBUTTON
5 -> RSM_RADIOBUTTON
6 -> RSM_UNDERLINED
7 -> RSM_GROUPBOX
8 -> RSM_NICELINE
Die folgenden 6 Zahlen sind in 3 Paare aufgeteilt. Jedes Zahlenpaar enth<74>lt
eine Maske und einen Vergleichswert. Diese Zahlenpaare gelten jeweils f<>r
die OBJECT-Komponenten Typ, Flags und States.
Beispiel:
---------
1. Das Overlay soll die Darstellung eins RSM_CHECKBUTTON <20>bernehmen wenn:
- der Erweiterte Typ = 22 (hex 16)
- der Objekttyp = G_STRING (28 bzw. hex 1c)
#03 ffff 161c 0000 0000 0000 0000
--- ---- ---- -------------------
| | | |
| | | Flags und States spielen keine Rolle
| | Erw.Typ=22 und Typ=G_STRING?
| alle bits von ob_type beachten
RSM_CHECKBUTTON
2. Da nur ein Checkbutton gezeichnet werden soll, wenn das EXIT-Flag nicht
gesetzt ist, brauchen wir noch eine Zweite Zeile.
#00 ffff 161c 0004 0004 0000 0000
--- ---- ----
| | |
| | ist EXIT gesetzt?
| nur das EXIT-Flag auswerten
NICHTS_ZEICHNEN
Diese Zeile mu<6D> unbedingt vor der RSM_CHECKBUTTON-Zeile stehen.
3. Ein RSM_RADIOBUTTON soll bei den gleichen Bedingungen wie oben gezeichnet
werden, wenn das RADIO-Flag gesetzt ist.
#04 ffff 161c 0010 0010 0000 0000
--- ---- ----
| | |
| | ist RADIO gesetzt?
| nur das RADIO-Flag auswerten
RSM_RADIOBUTTON
Auch Diese Zeile mu<6D> vor der RSM_CHECKBUTTON-Zeile aber nach der
NICHTS_ZEICHNEN-Zeile stehen.
4. Um es zusammen zu fassen:
- der Erweiterte Typ = 22 (hex 16)
- der Objekttyp = G_STRING (28 bzw. hex 1c)
- wenn EXIT-Flag soll nix gezeichnet werden
- wenn RADIO-Flag dann RSM_RADIOBUTTON sonst RSM_CHECKBUTTON
------------Schnipp-----------
#00 ffff 161c 0004 0004 0000 0000 Wenn Exit nix Zeichnen
#04 ffff 161c 0010 0010 0000 0000 Wenn RADIO -> RSM_RADIOBUTTON
#03 ffff 161c 0000 0000 0000 0000 Wenn kein EXIT und auch kein RADIO
dann RSM_CHECKBUTTON
------------Schnapp-----------