home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / menu / kiwi / include / kiwiwin.h < prev   
Encoding:
C/C++ Source or Header  |  1992-04-13  |  4.5 KB  |  133 lines

  1. /* Last change dated        3.2.1991            */
  2.  
  3. #define KIWI_WIN_IN
  4. #define MAX_HEADER_SIZE     40
  5. #define MAX_INPUT_NAME_LEN     30
  6. #define MAX_FUNCTION_LEN    15
  7. #define WIN_MIN_X        5
  8. #define WIN_MIN_Y        3
  9.  
  10.  
  11.  
  12. struct input_parameter{    /*    Eingabeparameterbeschreibung        */
  13.     char     name[MAX_INPUT_NAME_LEN];    /*    Datenname    */
  14.     char    typ;    /*    Datentyp s,c,d,l,m,t,b            */
  15.     int    lange;    /*    Laenge des Feldes            */
  16.     int     nk;    /*    Nachkomma wenn float            */
  17.     char    lage;    /*    Lage, rechts oder linksbuendig        */
  18.     char     grenzen;/*    Eingabe begrenzen            */
  19.     float    min;    /*    Minimum                    */
  20.     float    max;    /*    Maximum                    */
  21.     char    eingabe;/*    Muss Feld eingegeben werden        */ 
  22.     char    hilfe[MAX_INPUT_NAME_LEN];    /*    Hilfetext    */
  23.     char     attrib;    /*    Attribut des Feldes            */
  24.     int     x;    /*    X Position                */
  25.     int    y;    /*    y Position                */
  26.     UCHAR    pre_func[MAX_FUNCTION_LEN];    /* Startfunction    */
  27.     UCHAR    post_func[MAX_FUNCTION_LEN];    /* Endefunction        */
  28. };
  29.  
  30.  
  31. /*    grenzen dient als bitfeld zur begrenzung und der Ein/Ausgabedefinition
  32.  
  33.     eingabe ist derart definiert 
  34.     bit 0    0 Nur Ausgabe    1 Ein oder Ausgabe
  35.     bit 1    0 Kein Zwang    1 Eingabezwang Feld muß mit 13 oder 14 verlassen werden
  36.     bit 2    0 Gross/Klein    1 Nur Gross bei Ascii und Logical
  37.     bit 3    0 Normafeld    1 Daueranzeigefeld    
  38.  
  39. */
  40. /*     Achtung Achtung  Irgendwelche Zusaetze zu input_parameter duerfen
  41.     nur am Ende des Struct angebracht werden, da anderfalls alle bisher
  42.     existierenden Masken nicht mehr kombatibel sind. In load_window
  43.     wird der struct bis zu einer erechneten groesse byteweise eingelesen,
  44.     so das alle Anderungen vor dem Ende zu durcheinander fuehren muessen    
  45. */
  46.  
  47.  
  48. struct kiwilib_window_typ{
  49.      UCHAR typ[3];            /* Windowtyp;            */
  50.      USHORT x_start;        /* Obere Linke Ecke x        */
  51.      USHORT y_start;        /* Obere Linke Ecke y        */
  52.      USHORT x_ende;            /* Untere Linke Ecke x        */
  53.      USHORT y_ende;            /* Untere Linke Ecke y        */
  54.      USHORT sx_ende;        /* Schattiertes Ende x        */
  55.      USHORT sy_ende;        /* Schattiertes Ende y        */
  56.      SHORT nummer;            /* Fensternummer        */    
  57.      USHORT cursor_x;        /* Cursorposition        */
  58.      USHORT cursor_y;        /* Cursorposition        */
  59.      USHORT breite;            /* Fensterbreite        */
  60.      USHORT hoehe;            /* Fensterhoehe            */
  61.      USHORT sbreite;        /* Fensterbreite mit Schatten    */
  62.      USHORT shoehe;            /* Fensterhoehe    mit Schatten    */
  63.      UCHAR attribut;        /* Aktiver Attributwert     */
  64.      UCHAR inv_attrib;        /* Attributwert invers        */
  65.      UCHAR nor_attrib;        /* Attributwert Normal        */
  66.      UCHAR frame_attrib;        /* Rahmenattribut        */
  67.      UCHAR ct_num;            /* Farbtabellennummer        */
  68.      USHORT scroll_x;        /* Position des Scrollbalken    */
  69.      USHORT scroll_y;        /* Position des Scrollbalken    */
  70.      USHORT res_xa,res_ya;        /* Reserveposition wenn maximal    */
  71.      USHORT res_xe,res_ye;        /* Reserveposition wenn Minimal    */
  72.      CHAR *header;            /* Fensterüberschrift         */
  73.      USHORT far *window_puffer;    /* Zeiger auf Pufferspeicher    */
  74.      VSCREEN screen_link;        /* Virtuell Screnn Number    */
  75.      USHORT vs_x_offset;        /* X Versatz Window Screen    */
  76.      USHORT vs_y_offset;        /* Y Versatz Window Screen    */
  77.      CHAR *mask_name;        /* Maskenname wenn geladen    */
  78.      UCHAR ipcount;            /* Anzahl Positionen bei Eingabe    */
  79.      struct input_parameter *ipp;    /* Eingabeparameter fuer Maske    */
  80.     };
  81.  
  82. #ifndef WINDOW_DEF
  83.     extern         long used_bytes;
  84.     extern         USHORT window_num;
  85.     extern         struct kiwilib_window_typ far *window_typ;
  86.     extern         WINDOW akt_window,window_row_ptr;    
  87.     extern         WINDOW far *window_row;
  88. #else
  89.             long used_bytes;
  90.             USHORT window_num;
  91.             struct kiwilib_window_typ far *window_typ;    
  92.             WINDOW akt_window,window_row_ptr;
  93.             WINDOW far *window_row;
  94. #endif
  95.  
  96. /*
  97.     Verteilung des Bitfelds typ[0]
  98.     Bit 0        Schatten rechts
  99.     Bit 1        Schatten unten
  100.     Bit 2        Rand
  101.     Bit 3        Schatten eingeschaltet
  102.     Bit 4        0 Kiwiattribut   1  Window-attribut
  103.     Bit 5        0 Rand Einfach   1  Rand Doppelt
  104.     Bit 6        0 Kein Link     1  Link to Vscreen
  105.     Bit 7        Frei
  106.  
  107.  
  108.     Verteilung des Bitfelds typ[1]
  109.     Bit 0        0 Kein SAA     1 SAA Window
  110.     Bit 1        0 Normal Window    1 Virtuell Window Close vs wnn closed
  111.     Bit 2        0 Normalattri    1 Invers bei Erstellung (für Rand)
  112.     Bit 3           0 Header dyn.    1 Header durch alloc
  113.     Bit 4        0 Kein Inpfeld    1 Inpfeld durch malloc erzeugt
  114.     Bit 5        0 Normal erzeugt1 Window geladen
  115.     Bit 6        0 Normal erzeugt1 Window hidden
  116.     Bit 7        0 Keine Slider    1 Mit Slider
  117.  
  118.  
  119.     Verteilung des Bitfelds typ[2]
  120.     Bit 0        0 Kein Slide     1 Slidewindows
  121.     Bit 1        0 Normal    1 Maximaldarstellung
  122.     Bit 2        0 Normal    2 Minimaldarstellung
  123.  
  124.  
  125.     Verteilung des USHORT *ip
  126.  
  127.     Byte 0    X Position 0-255
  128.     Byte 1    Y Position 0-128
  129.     Bit 7 Byte 1         0 Normal    1 Inversattribut
  130.  
  131.  
  132. */
  133.