home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / driver / show / amiga / amscreen.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-05  |  20.3 KB  |  634 lines

  1.  
  2. #define REQ_LIBRARY        /* use the req.library for the color-requester */
  3. #undef  ARP_LIBRARY
  4. #undef  ASL_LIBRARY
  5.  
  6. #undef  REQ_FILEREQ
  7. #undef  ARP_FILEREQ
  8. #define ASL_FILEREQ
  9.  
  10.  
  11. /* Startnummern der einzelnen GadID's */
  12. #define WIN2_GADS    1
  13. #define PREFWIN_GADS    (WIN2_GADS + 20)
  14.  
  15.  
  16. #define MIN_STACK_SIZE    10000        /* minimal stack size */
  17.  
  18.  
  19. extern struct ExecBase        * SysBase;
  20. extern struct IntuitionBase    * IntuitionBase;
  21. extern struct GfxBase        * GfxBase;
  22. extern struct ArpBase        * ArpBase;
  23. extern struct Library        * DiskfontBase;
  24. extern struct Library        * WorkbenchBase;
  25. extern struct Library        * IconBase;
  26. extern struct DosLibrary    * DOSBase;
  27. extern struct Library        * GadToolsBase;
  28. extern struct Library         * AslBase;
  29. extern struct Library           * AmigaGuideBase;
  30. extern struct Library           * UtilityBase;
  31.  
  32.  
  33. #if defined(REQ_LIBRARY)
  34.  extern struct ReqLib        * ReqBase;
  35. #endif
  36.  
  37.  
  38.  
  39. #define PAL_SCR_WIDTH    640
  40. #define PAL_SCR_HEIGHT    256
  41. #define NTSC_SCR_WIDTH    640
  42. #define NTSC_SCR_HEIGHT    200
  43.  
  44.  
  45. /* Position der Ausgabefelder in der Kopfzeile */
  46. #define WR_SECUNDARY_LEFT    (INT_LEFT_EDGE+32+2)
  47. #define WR_COUNTER_LEFT        (WR_SECUNDARY_LEFT+16+8)
  48. #define WR_STATUS_LEFT        (WR_COUNTER_LEFT+32+8)
  49.  
  50.  
  51. /* Hoehe der beiden Kopfzeilen */
  52. /* #define HEIGHT_SCREEN_TITLE_BAR    10    Diese zwei Werte sind nun in Variablen*/
  53. /* #define HEIGHT_WIN_TITLE_BAR        11    abgelegt und werden immer neu berechnet!*/
  54. /* #define HEIGHT_TITLE_BARS    (HeightScreenTitle+HeightWinTitle)    */
  55.  
  56. /* Koo. des Anzeigefensters */
  57. #define WIN_X_KOO        0
  58. #define WIN_Y_KOO        HeightScreenTitle
  59.  
  60.  
  61. /* Schrittweiten fuer das Scrollen (wird nur in gadget.c benötigt) */
  62. /* Schrittweiten fuer Tastatur in amkey.c */
  63. #define STEP_ARROW_X        6
  64. #define STEP_ARROW_Y        18
  65.  
  66.  
  67. /* Wartezeit fuer den Refresh der Kopfzeile */
  68. #define WAIT_TIME_TICKS        35    /* Anzahl Intervalle (INTUITICKS) */
  69.  
  70.  
  71.  
  72. /************************************************************************/
  73. /* *** Abstrakter Datentyp fuer Showdvi                    *** */
  74.  
  75. #undef USE_BITFIELD
  76.  
  77. #ifdef USE_BITFIELD
  78.   /* spart 'etwas' Speicher, ist aber laenger im Zugriff */
  79. # define BITS(name,nr)    unsigned name : nr
  80. #else
  81.   /* Jedes Feld ein char gross. nr darf halt nie groesser als 8 werden! */
  82.   /* braucht etwas mehr Speicher, ist dafuer aber schneller im Zugriff und auch kuerzer im Code */
  83. # define BITS(name,nr)    unsigned char name
  84. #endif
  85.  
  86.  
  87. struct state {    BITS(lace      , 1);        /* Interlace            */
  88.         BITS(show      , 1);        /* Full Page Modus        */
  89.         BITS(gadg      , 1);        /* Scrollbars            */
  90.         BITS(print     , 1);        /* laeuft Ausdruck        */
  91.         BITS(timer     , 1);        /* laeuft dein Timer-Request    */
  92.         BITS(pscro     , 1);        /* Seitenscrollen        */
  93.         BITS(colre     , 1);        /* Color-Requester angezeigt    */
  94.         BITS(about     , 1);        /* About angezeigt        */
  95.         BITS(help      , 1);        /* Help angezeigt        */
  96.         BITS(arp       , 1);        /* ARP-Lib. im System        */
  97.         BITS(dvif      , 1);        /* DVI-File specifiziert    */
  98.         BITS(ndvif     , 1);        /* neues DVI-File geladen?    */
  99.         BITS(escex    , 1);        /* Ende bei ESC?        */
  100.         BITS(beep      , 1);        /* soll gebeept werden?        */
  101.         BITS(imenu     , 1);        /* intelligentes menu?        */
  102.         BITS(wbench    , 1);        /* von WBench gestartet        */
  103.         BITS(bmenu     , 1);        /* Menu in 11 Punkt Schrift?    */
  104.         BITS(mesu      , 1);        /* mesuring an?            */
  105.         BITS(jmpup    , 1);        /* jump to top of page        */
  106.         BITS(jmpdown    , 1);        /* jump to bottom of page    */
  107.         BITS(sysmenu    , 1);        /* use system menu (not popup)    */
  108.         BITS(os2    , 1);        /* do we running under KS 2.0?    */
  109.         BITS(os21    , 1);        /* do we running under KS 2.1?    */
  110.         BITS(os3    , 1);        /* do we running under KS 3.0?    */
  111.         BITS(usephy    , 1);        /* use physical page numbers    */
  112.         BITS(tusephy    , 1);        /* tmp use physical page numbers*/
  113.         BITS(appwin    , 1);        /* create app-window?        */
  114.         BITS(osmenu    , 1);        /* use normal pull down menu?    */
  115.         BITS(autoag    , 1);        /* auto load again        */
  116.         BITS(pubscr    , 1);        /* open a Public-Screen?    */
  117.         BITS(messwin    , 1);        /* open a messure window    */
  118.         BITS(dotbord    , 1);        /* dotted border        */
  119.         BITS(col4    , 1);        /* use a 4 color screen?    */
  120.         BITS(midmenu    , 1);        /* use the middle pop-up menu    */
  121.         BITS(chres      , 1);        /* is the resolution changed    */
  122.         BITS(mmove    , 3);        /* MOUSEMOVE Counter        */
  123.         BITS(inticks    , 3);        /* INTUITICKS Counter        */
  124.         BITS(scrmode    , 3);        /* screenm (pal,ntsc,prod,a2024)*/
  125.         BITS(whunit    , 2);        /* in: 0, cm: 1, pt: 2        */
  126.         BITS(titref    , 1);        /* Screen-Title to refresh?    */
  127.         BITS(clwbcol    , 1);        /* clone the wb colors?        */
  128.         BITS(notify    , 1);        /* use notify mechanism        */
  129.         BITS(quickex    , 1);        /* quit immediately        */
  130.         BITS(prefwin    , 1);        /* is Pref-Win up?        */
  131.         BITS(ownscr    , 1);        /* use own screen?        */
  132.         BITS(myscr    , 1);        /* is screen my own screen?    */
  133.         BITS(otherpubscr, 1);        /* is the pubscr opend from me?    */
  134.         BITS(village    , 1);        /* window on the village screen?*/
  135.         BITS(bmfast    , 1);        /* page bitmap in fast ram?    */
  136.         BITS(alwbmfast    , 1);        /* bm alway in fast ram?    */
  137.         BITS(scrollras    , 1);        /* use ScrollRaster()        */
  138.         BITS(bmcpu    , 1);        /* copy (fast) bm with CPU    */
  139.         BITS(smartwin    , 1);        /* use smart-refresh window    */
  140.         BITS(margin    , 1);        /* are margins set?        */
  141.         BITS(amigaguide    , 1);        /* AmigaGuide ready?        */
  142.         BITS(bhook      , 1);        /* Backfill Hook?        */
  143.  
  144.         short menu_res_lines;        /* nr of lines in the res-menu    */
  145.         unsigned short mres[11];    /* dpi-resolutions        */
  146.  
  147.         short screen_size_x;        /* screen_size, 0 clone wb    */
  148.         short screen_size_y;        /* screen_size, 0 clone wb    */
  149.         short window_pos_x;        /* window_pos, -1 def pos    */
  150.         short window_pos_y;        /* window_pos, -1 def pos    */
  151.         short window_size_x;        /* window_size, -1 def size    */
  152.         short window_size_y;        /* window_size, -1 def size    */
  153.         short window_pos_own_scr_x;    /* window_pos, -1 def pos    */
  154.         short window_pos_own_scr_y;    /* window_pos, -1 def pos    */
  155.         short window_size_own_scr_x;    /* window_size, -1 def size    */
  156.         short window_size_own_scr_y;    /* window_size, -1 def size    */
  157.         long monitor_size_x;        /* aspect-ratio x        */
  158.         long monitor_size_y;        /* aspect-ratio y        */
  159.         long margin_x;            /* x margin to show        */
  160.         long margin_y;            /* y margin to show        */
  161.         ULONG aktIDCMP;            /* aktual IDCMP of win2        */
  162.         LONG  AppIconX;            /* AppIcon X Position        */
  163.         LONG  AppIconY;            /* AppIcon Y Position        */
  164.         ULONG DisplayID;        /* numeric DisplayID        */
  165.             char *ftast[20];        /* F-Tasten Belegung AREXX    */
  166.             char *command;            /* command of the 'r' key     */
  167.             char *arexxstart;        /* script, starts TeX-server    */
  168.             
  169.             struct BitMap   * ChipPuffBM;    /* Puffer Bitmap in Chip-Mem    */
  170.             struct RastPort   ChipPuffRP;    /* RastPort for ChipPuffBM    */
  171.  
  172.         struct DrawInfo    * dri;
  173.         void        * vi;
  174.         
  175.         UBYTE  APen;            /* foreground pen        */
  176.         UBYTE  BPen;            /* background pen        */
  177.  };
  178.  
  179.  
  180. extern struct state show_state;    /* Anzeigezustand         */
  181.                 /* interner Zustand: Abfrage plus setzen */
  182.  
  183. #define SDVI_DRI    show_state.dri
  184. #define SDVI_VI        show_state.vi
  185.  
  186.  
  187.  
  188.  
  189. /* in folgendem struct werden alle Images/Boopsi Objekte gespeichert */
  190.  
  191. struct BoopsiObj {
  192.     struct Image *    LArrImage;    /* left arrow            */
  193.     struct Image *    RArrImage;    /* right arrow            */
  194.     struct Image *    UArrImage;    /* up arrow            */
  195.     struct Image *    DArrImage;    /* down arrow            */
  196.     struct Image *  SizeImage;    /* sizing button         */
  197.  };
  198.  
  199. extern struct BoopsiObj BObj;
  200.  
  201.  
  202.  
  203.  
  204. #define is_lace        (show_state.lace)
  205. #define set_lace    show_state.lace = 1
  206. #define unset_lace    show_state.lace = 0
  207. #define toggle_lace    show_state.lace = !show_state.lace
  208.  
  209. #define is_show        (show_state.show)
  210. #define set_show    show_state.show = 1
  211. #define unset_show    show_state.show = 0
  212. #define toggle_show    show_state.show = !show_state.show
  213.  
  214. #define is_gadg        (show_state.gadg)
  215. #define set_gadg    show_state.gadg = 1
  216. #define unset_gadg    show_state.gadg = 0
  217. #define toggle_gadg    show_state.gadg = !show_state.gadg
  218.  
  219. #define is_print    (show_state.print)
  220. #define set_print    show_state.print = 1
  221. #define unset_print    show_state.print = 0
  222. #define toggle_print    show_state.print = !show_state.print
  223.  
  224. #define is_timer    (show_state.timer)
  225. #define set_timer    show_state.timer = 1
  226. #define unset_timer    show_state.timer = 0
  227. #define toggle_timer    show_state.timer = !show_state.timer
  228.  
  229. #define is_pscro    (show_state.pscro)
  230. #define set_pscro    show_state.pscro = 1
  231. #define unset_pscro    show_state.pscro = 0
  232. #define toggle_pscro    show_state.pscro = !show_state.pscro
  233.  
  234. #define is_colre    (show_state.colre)
  235. #define set_colre    show_state.colre = 1
  236. #define unset_colre    show_state.colre = 0
  237. #define toggle_colre    show_state.colre = !show_state.colre
  238.  
  239. #define is_about    (show_state.about)
  240. #define set_about    show_state.about = 1
  241. #define unset_about    show_state.about = 0
  242. #define toggle_about    show_state.about = !show_state.about
  243.  
  244. #define is_arp        (show_state.arp)
  245. #define set_arp        show_state.arp = 1
  246. #define unset_arp    show_state.arp = 0
  247. #define toggle_arp    show_state.arp = !show_state.arp
  248.  
  249. #define is_dvif        (show_state.dvif)
  250. #define set_dvif    show_state.dvif = 1
  251. #define unset_dvif    show_state.dvif = 0
  252. #define toggle_dvif    show_state.dvif = !show_state.dvif
  253.  
  254. #define is_ndvif    (show_state.ndvif)
  255. #define set_ndvif    show_state.ndvif = 1
  256. #define unset_ndvif    show_state.ndvif = 0
  257. #define toggle_ndvif    show_state.ndvif = !show_state.ndvif
  258.  
  259. #define is_beep        (show_state.beep)
  260. #define set_beep    show_state.beep = 1
  261. #define unset_beep    show_state.beep = 0
  262. #define toggle_beep    show_state.beep = !show_state.beep
  263.  
  264. #define is_escex    (show_state.escex)
  265. #define set_escex    show_state.escex = 1
  266. #define unset_escex    show_state.escex = 0
  267. #define toggle_escex    show_state.escex = !show_state.escex
  268.  
  269. #define is_imenu    (show_state.imenu)
  270. #define set_imenu    show_state.imenu = 1
  271. #define unset_imenu    show_state.imenu = 0
  272. #define toggle_imenu    show_state.imenu = !show_state.imenu
  273.  
  274. #define is_wbench    (show_state.wbench)
  275. #define set_wbench    show_state.wbench = 1
  276. #define unset_wbench    show_state.wbench = 0
  277. #define toggle_wbench    show_state.wbench = !show_state.wbench
  278.  
  279. #define is_bmenu    (show_state.bmenu)
  280. #define set_bmenu    show_state.bmenu = 1
  281. #define unset_bmenu    show_state.bmenu = 0
  282. #define toggle_bmenu    show_state.bmenu = !show_state.bmenu
  283.  
  284. #define is_mesu        (show_state.mesu)
  285. #define set_mesu    show_state.mesu = 1
  286. #define unset_mesu    show_state.mesu = 0
  287. #define toggle_mesu    show_state.mesu = !show_state.mesu
  288.  
  289. #define is_jmpup    (show_state.jmpup)
  290. #define set_jmpup    show_state.jmpup = 1
  291. #define unset_jmpup    show_state.jmpup = 0
  292. #define toggle_jmpup    show_state.jmpup = !show_state.jmpup
  293.  
  294. #define is_jmpdown    (show_state.jmpdown)
  295. #define set_jmpdown    show_state.jmpdown = 1
  296. #define unset_jmpdown    show_state.jmpdown = 0
  297. #define toggle_jmpdown    show_state.jmpdown = !show_state.jmpdown
  298.  
  299. #define is_sysmenu    (show_state.sysmenu)
  300. #define set_sysmenu    show_state.sysmenu = 1
  301. #define unset_sysmenu    show_state.sysmenu = 0
  302. #define toggle_sysmenu    show_state.sysmenu = !show_state.sysmenu
  303.  
  304. #define is_os2        (show_state.os2)
  305. #define set_os2        show_state.os2 = 1
  306. #define unset_os2    show_state.os2 = 0
  307. #define toggle_os2    show_state.os2 = !show_state.os2
  308.  
  309. #define is_os21        (show_state.os21)
  310. #define set_os21    show_state.os21 = 1
  311. #define unset_os21    show_state.os21 = 0
  312. #define toggle_os21    show_state.os21 = !show_state.os21
  313.  
  314. #define is_os3        (show_state.os3)
  315. #define set_os3        show_state.os3 = 1
  316. #define unset_os3    show_state.os3 = 0
  317. #define toggle_os3    show_state.os3 = !show_state.os3
  318.  
  319. #define is_usephy    (show_state.usephy)
  320. #define set_usephy    show_state.usephy = 1
  321. #define unset_usephy    show_state.usephy = 0
  322. #define toggle_usephy    show_state.usephy = !show_state.usephy
  323.  
  324. #define is_tusephy    (show_state.tusephy)
  325. #define set_tusephy    show_state.tusephy = 1
  326. #define unset_tusephy    show_state.tusephy = 0
  327. #define toggle_tusephy    show_state.tusephy = !show_state.tusephy
  328.  
  329. #define is_appwin    (show_state.appwin)
  330. #define set_appwin    show_state.appwin = 1
  331. #define unset_appwin    show_state.appwin = 0
  332. #define toggle_appwin    show_state.appwin = !show_state.appwin
  333.  
  334. #define is_osmenu    (show_state.osmenu)
  335. #define set_osmenu    show_state.osmenu = 1
  336. #define unset_osmenu    show_state.osmenu = 0
  337. #define toggle_osmenu    show_state.osmenu = !show_state.osmenu
  338.  
  339. #define is_autoag    (show_state.autoag)
  340. #define set_autoag    show_state.autoag = 1
  341. #define unset_autoag    show_state.autoag = 0
  342. #define toggle_autoag    show_state.autoag = !show_state.autoag
  343.  
  344. #define is_pubscr    (show_state.pubscr)
  345. #define set_pubscr    show_state.pubscr = 1
  346. #define unset_pubscr    show_state.pubscr = 0
  347. #define toggle_pubscr    show_state.pubscr = !show_state.pubscr
  348.  
  349. #define is_messwin    (show_state.messwin)
  350. #define set_messwin    show_state.messwin = 1
  351. #define unset_messwin    show_state.messwin = 0
  352. #define toggle_messwin    show_state.messwin = !show_state.messwin
  353.  
  354. #define is_dotbord    (show_state.dotbord)
  355. #define set_dotbord    show_state.dotbord = 1
  356. #define unset_dotbord    show_state.dotbord = 0
  357. #define toggle_dotbord    show_state.dotbord = !show_state.dotbord
  358.  
  359. #define is_col4        (show_state.col4)
  360. #define set_col4    show_state.col4 = 1
  361. #define unset_col4    show_state.col4 = 0
  362. #define toggle_col4    show_state.col4 = !show_state.col4
  363.  
  364. #define is_midmenu    (show_state.midmenu)
  365. #define set_midmenu    show_state.midmenu = 1
  366. #define unset_midmenu    show_state.midmenu = 0
  367. #define toggle_midmenu    show_state.midmenu = !show_state.midmenu
  368.  
  369. #define is_titref    (show_state.titref)
  370. #define set_titref    show_state.titref = 1
  371. #define unset_titref    show_state.titref = 0
  372. #define toggle_titref    show_state.titref = !show_state.titref
  373.  
  374. #define is_clwbcol    (show_state.clwbcol)
  375. #define set_clwbcol    show_state.clwbcol = 1
  376. #define unset_clwbcol    show_state.clwbcol = 0
  377. #define toggle_clwbcol    show_state.clwbcol = !show_state.clwbcol
  378.  
  379. #define is_notify    (show_state.notify)
  380. #define set_notify    show_state.notify = 1
  381. #define unset_notify    show_state.notify = 0
  382. #define toggle_notify    show_state.notify = !show_state.notify
  383.  
  384. #define is_quickex    (show_state.quickex)
  385. #define set_quickex    show_state.quickex = 1
  386. #define unset_quickex    show_state.quickex = 0
  387. #define toggle_quickex    show_state.quickex = !show_state.quickex
  388.  
  389. #define is_chres    (show_state.chres)
  390. #define set_chres    show_state.chres = 1
  391. #define unset_chres    show_state.chres = 0
  392. #define toggle_chres    show_state.chres = !show_state.chres
  393.  
  394. #define is_prefwin    (show_state.prefwin)
  395. #define set_prefwin    show_state.prefwin = 1
  396. #define unset_prefwin    show_state.prefwin = 0
  397. #define toggle_prefwin    show_state.prefwin = !show_state.prefwin
  398.  
  399. #define is_ownscr    (show_state.ownscr)
  400. #define set_ownscr    show_state.ownscr = 1
  401. #define unset_ownscr    show_state.ownscr = 0
  402. #define toggle_ownscr    show_state.ownscr = !show_state.ownscr
  403.  
  404. #define is_myscr    (show_state.myscr)
  405. #define set_myscr    show_state.myscr = 1
  406. #define unset_myscr    show_state.myscr = 0
  407. #define toggle_myscr    show_state.myscr = !show_state.myscr
  408.  
  409. #define is_otherpubscr        (show_state.otherpubscr)
  410. #define set_otherpubscr        show_state.otherpubscr = 1
  411. #define unset_otherpubscr    show_state.otherpubscr = 0
  412. #define toggle_otherpubscr    show_state.otherpubscr = !show_state.otherpubscr
  413.  
  414. #define is_village    (show_state.village)
  415. #define set_village    show_state.village = 1
  416. #define unset_village    show_state.village = 0
  417. #define toggle_village    show_state.village = !show_state.village
  418.  
  419. #define is_bmfast    (show_state.bmfast)
  420. #define set_bmfast    show_state.bmfast = 1
  421. #define unset_bmfast    show_state.bmfast = 0
  422. #define toggle_bmfast    show_state.bmfast = !show_state.bmfast
  423.  
  424. #define is_alwbmfast        (show_state.alwbmfast)
  425. #define set_alwbmfast        show_state.alwbmfast = 1
  426. #define unset_alwbmfast        show_state.alwbmfast = 0
  427. #define toggle_alwbmfast    show_state.alwbmfast = !show_state.alwbmfast
  428.  
  429. #define is_scrollras        (show_state.scrollras)
  430. #define set_scrollras        show_state.scrollras = 1
  431. #define unset_scrollras        show_state.scrollras = 0
  432. #define toggle_scrollras    show_state.scrollras = !show_state.scrollras
  433.  
  434. #define is_bmcpu    (show_state.bmcpu)
  435. #define set_bmcpu    show_state.bmcpu = 1
  436. #define unset_bmcpu    show_state.bmcpu = 0
  437. #define toggle_bmcpu    show_state.bmcpu = !show_state.bmcpu
  438.  
  439. #define is_smartwin    (show_state.smartwin)
  440. #define set_smartwin    show_state.smartwin = 1
  441. #define unset_smartwin    show_state.smartwin = 0
  442. #define toggle_smartwin    show_state.smartwin = !show_state.smartwin
  443.  
  444. #define is_margin    (show_state.margin)
  445. #define set_margin    show_state.margin = 1
  446. #define unset_margin    show_state.margin = 0
  447. #define toggle_margin    show_state.margin = !show_state.margin
  448.  
  449. #define is_amigaguide        (show_state.amigaguide)
  450. #define set_amigaguide        show_state.amigaguide = 1
  451. #define unset_amigaguide    show_state.amigaguide = 0
  452. #define toggle_amigaguide    show_state.amigaguide = !show_state.amigaguide
  453.  
  454. #define is_bhook    (show_state.bhook)
  455. #define set_bhook    show_state.bhook = 1
  456. #define unset_bhook    show_state.bhook = 0
  457. #define toggle_bhook    show_state.bhook = !show_state.bhook
  458.  
  459.  
  460.  
  461. #define undef_scrmode    show_state.scrmode = 0
  462. #define set_pal        show_state.scrmode = 1
  463. #define set_ntsc    show_state.scrmode = 2
  464. #define set_prod    show_state.scrmode = 3
  465. #define set_a2024    show_state.scrmode = 4
  466. #define set_wbmode    show_state.scrmode = 5
  467. #define set_numeric    show_state.scrmode = 6        // numeric ID (DisplayID)
  468. #define is_pal        (show_state.scrmode == 1)
  469. #define is_ntsc        (show_state.scrmode == 2)
  470. #define is_prod        (show_state.scrmode == 3)
  471. #define is_a2024    (show_state.scrmode == 4)
  472. #define is_wbmode    (show_state.scrmode == 5)
  473. #define is_numeric    (show_state.scrmode == 6)
  474. #define is_scr_mode    (show_state.scrmode != 0)
  475.  
  476. #define set_unit_in    show_state.whunit = 0
  477. #define set_unit_cm    show_state.whunit = 1
  478. #define set_unit_pt    show_state.whunit = 2
  479. #define is_unit_in    (show_state.whunit == 0)
  480. #define is_unit_cm    (show_state.whunit == 1)
  481. #define is_unit_pt    (show_state.whunit == 2)
  482.  
  483. #define add_mmove    show_state.mmove++
  484. #define sub_mmove    show_state.mmove--
  485. #define is_mmove    (show_state.mmove)
  486. #define clear_mmove    show_state.mmove=0
  487.  
  488. #define add_inticks    show_state.inticks++
  489. #define sub_inticks    show_state.inticks--
  490. #define is_inticks    (show_state.inticks)
  491. #define clear_inticks    show_state.inticks=0
  492.  
  493.  
  494.  
  495.  
  496.  
  497. /*------------------------------------------------------------------------*/
  498.  
  499. /* These definitions will appear in V39 include files.  Until then,
  500.  * they're available locally
  501.  */
  502.  
  503. #ifndef    WA_NewLookMenus
  504. #define WA_NewLookMenus    (WA_Dummy + 0x30)
  505. #endif
  506.  
  507. #ifndef    WA_AmigaKey
  508. #define WA_AmigaKey    (WA_Dummy + 0x31)
  509. #endif
  510.  
  511. #ifndef SYSIA_ReferenceFont
  512. #define SYSIA_ReferenceFont    (IA_Dummy + 0x19)
  513. #endif
  514.  
  515. #ifndef MENUCHECK
  516. #define    MENUCHECK    (0x10L)
  517. #endif
  518.  
  519. #ifndef AMIGAKEY
  520. #define AMIGAKEY    (0x11L)
  521. #endif
  522.  
  523. #ifndef GTMN_Checkmark
  524. #define GTMN_Checkmark         GT_TagBase+65
  525. #endif
  526.  
  527. #ifndef GTMN_AmigaKey
  528. #define GTMN_AmigaKey         GT_TagBase+66
  529. #endif
  530.  
  531. #ifndef GTMN_NewLookMenus
  532. #define GTMN_NewLookMenus        GT_TagBase+67
  533. #endif
  534.  
  535. /*------------------------------------------------------------------------*/
  536.  
  537.  
  538.  
  539. /****************************************************************************/
  540. /* Merker fuer die Farben */
  541. struct current_color {
  542.   short red_0,  green_0,  blue_0, 
  543.     red_1,  green_1,  blue_1,
  544.     red_2,  green_2,  blue_2,
  545.     red_3,  green_3,  blue_3;
  546. #if 0    /* nur fuer eigenen color-requester */
  547.     red_t0, green_t0, blue_t0,        /* temporaer */
  548.     red_t1, green_t1, blue_t1,        /* temporaer */
  549.     col_number_t;
  550. #endif
  551.   };
  552.  
  553. extern struct current_color current_col;
  554.  
  555. extern int background;        /* TRUE - FALSE je nach Programmstart */
  556.  
  557.  
  558. /****************************************************************************/
  559. /* Flags fuer das Show-Fenster win2 */
  560. #define IDCMP_FLAGS    IDCMP_CLOSEWINDOW | IDCMP_RAWKEY | IDCMP_GADGETUP | IDCMP_GADGETDOWN |\
  561.         IDCMP_MOUSEBUTTONS | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_MENUPICK |\
  562.         IDCMP_NEWSIZE | IDCMP_REFRESHWINDOW | IDCMP_IDCMPUPDATE
  563.  
  564.  
  565. #define ABS(x)        (((x)>0) ? (x) : -(x))
  566. #define ABSOLUT(x)    (((x)>=0) ? (x) : -(x))
  567.  
  568.  
  569. extern int Enable_Abort;
  570. extern struct RastPort        myRastPort;  /* BitMap */
  571. extern long wx, wy;            /* gebr. von gadget.c */
  572. extern long static_x_Koo,        /* gebr. von gadget.c */
  573.         static_y_Koo;
  574.  
  575. extern short use_phy_number;    /* logical or physikal page numbers */
  576.  
  577. extern short width_left_border;
  578. extern short width_right_border;
  579.  
  580. extern short HeightScreenTitle;
  581. extern short HeightWinTitle;
  582.  
  583.  
  584. extern struct TextAttr    txtAttr8;
  585. extern struct TextAttr    txtAttr11;
  586. extern struct TextAttr    txtAttr;
  587. extern struct TextAttr    GadtxtAttr;
  588.  
  589.  
  590.  
  591.  
  592. extern short    x_win_i_height, /* needet for the scrollbars in gadget.c */
  593.         x_win_i_width,
  594.         x_win_width,    /* needet for the menus             */
  595.         x_win_height,
  596.         x_scr_width,    /* needet for the filerequester         */
  597.         x_scr_height;
  598.  
  599. extern struct Window *win2;
  600. extern struct Screen *screen;
  601. extern APTR          visual;        /* visual Info des jeweiligen Screens */
  602. extern char           PubScreenName[];
  603. extern char          MyPubScreenName[];
  604.  
  605. extern char         *directory;
  606.  
  607.  
  608.  
  609.  
  610.  
  611. extern char *app_icon_name;    /* defined in app_win.c */
  612. #define DEFAULT_APP_ICON_NAME    "TeX:config/AppIcon.info"
  613.  
  614. #ifdef FONTS_IN_CHIPMEM
  615. /***  Bitmap zum Char-Kopieren !! ***/
  616. extern struct BitMap copy_char_bm;
  617. #endif
  618.  
  619.  
  620.  
  621.  
  622.  
  623. #undef is_os2
  624. #define is_os2    TRUE
  625. #undef is_pscro
  626. #define is_pscro FALSE
  627.  
  628.  
  629. enum SearchOpt { SO_OpenSearchWin, SO_StartSearchAgain };
  630.  
  631. // SO_OpenSearchWin    : 's' oder Menue
  632. // SO_StartSearchAgain : SearchWin ist offen, Im SearchWin wurde 'Search' gedrueckt
  633.  
  634.