URI:
       tdata.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tdata.c (6108B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <draw.h>
            4 #include <thread.h>
            5 #include <cursor.h>
            6 #include <mouse.h>
            7 #include <keyboard.h>
            8 #include <frame.h>
            9 #include <fcall.h>
           10 #include "dat.h"
           11 #include "fns.h"
           12 
           13 Cursor crosscursor = {
           14         {-7, -7},
           15         {0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0,
           16          0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF,
           17          0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0,
           18          0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, },
           19         {0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
           20          0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x7F, 0xFE,
           21          0x7F, 0xFE, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
           22          0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, }
           23 };
           24 
           25 Cursor boxcursor = {
           26         {-7, -7},
           27         {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
           28          0xFF, 0xFF, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F,
           29          0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xFF, 0xFF,
           30          0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, },
           31         {0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE,
           32          0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E,
           33          0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E,
           34          0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0x00, }
           35 };
           36 
           37 Cursor sightcursor = {
           38         {-7, -7},
           39         {0x1F, 0xF8, 0x3F, 0xFC, 0x7F, 0xFE, 0xFB, 0xDF,
           40          0xF3, 0xCF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF,
           41          0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xF3, 0xCF,
           42          0x7B, 0xDF, 0x7F, 0xFE, 0x3F, 0xFC, 0x1F, 0xF8, },
           43         {0x00, 0x00, 0x0F, 0xF0, 0x31, 0x8C, 0x21, 0x84,
           44          0x41, 0x82, 0x41, 0x82, 0x41, 0x82, 0x7F, 0xFE,
           45          0x7F, 0xFE, 0x41, 0x82, 0x41, 0x82, 0x41, 0x82,
           46          0x21, 0x84, 0x31, 0x8C, 0x0F, 0xF0, 0x00, 0x00, }
           47 };
           48 
           49 Cursor whitearrow = {
           50         {0, 0},
           51         {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
           52          0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF8, 0xFF, 0xFC,
           53          0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
           54          0xF3, 0xF8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, },
           55         {0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0xC0, 0x1C,
           56          0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x38, 0xC0, 0x1C,
           57          0xC0, 0x0E, 0xC0, 0x07, 0xCE, 0x0E, 0xDF, 0x1C,
           58          0xD3, 0xB8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, }
           59 };
           60 
           61 Cursor query = {
           62         {-7,-7},
           63         {0x0f, 0xf0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe,
           64          0x7c, 0x7e, 0x78, 0x7e, 0x00, 0xfc, 0x01, 0xf8,
           65          0x03, 0xf0, 0x07, 0xe0, 0x07, 0xc0, 0x07, 0xc0,
           66          0x07, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xc0, },
           67         {0x00, 0x00, 0x0f, 0xf0, 0x1f, 0xf8, 0x3c, 0x3c,
           68          0x38, 0x1c, 0x00, 0x3c, 0x00, 0x78, 0x00, 0xf0,
           69          0x01, 0xe0, 0x03, 0xc0, 0x03, 0x80, 0x03, 0x80,
           70          0x00, 0x00, 0x03, 0x80, 0x03, 0x80, 0x00, 0x00, }
           71 };
           72 
           73 Cursor tl = {
           74         {-4, -4},
           75         {0xfe, 0x00, 0x82, 0x00, 0x8c, 0x00, 0x87, 0xff,
           76          0xa0, 0x01, 0xb0, 0x01, 0xd0, 0x01, 0x11, 0xff,
           77          0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00,
           78          0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x1f, 0x00, },
           79         {0x00, 0x00, 0x7c, 0x00, 0x70, 0x00, 0x78, 0x00,
           80          0x5f, 0xfe, 0x4f, 0xfe, 0x0f, 0xfe, 0x0e, 0x00,
           81          0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00,
           82          0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x00, 0x00, }
           83 };
           84 
           85 Cursor t = {
           86         {-7, -8},
           87         {0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x06, 0xc0,
           88          0x1c, 0x70, 0x10, 0x10, 0x0c, 0x60, 0xfc, 0x7f,
           89          0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xff, 0xff,
           90          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, },
           91         {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
           92          0x03, 0x80, 0x0f, 0xe0, 0x03, 0x80, 0x03, 0x80,
           93          0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00,
           94          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }
           95 };
           96 
           97 Cursor tr = {
           98         {-11, -4},
           99         {0x00, 0x7f, 0x00, 0x41, 0x00, 0x31, 0xff, 0xe1,
          100          0x80, 0x05, 0x80, 0x0d, 0x80, 0x0b, 0xff, 0x88,
          101          0x00, 0x88, 0x0, 0x88, 0x00, 0x88, 0x00, 0x88,
          102          0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0xf8, },
          103         {0x00, 0x00, 0x00, 0x3e, 0x00, 0x0e, 0x00, 0x1e,
          104          0x7f, 0xfa, 0x7f, 0xf2, 0x7f, 0xf0, 0x00, 0x70,
          105          0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70,
          106          0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x00, }
          107 };
          108 
          109 Cursor r = {
          110         {-8, -7},
          111         {0x07, 0xc0, 0x04, 0x40, 0x04, 0x40, 0x04, 0x58,
          112          0x04, 0x68, 0x04, 0x6c, 0x04, 0x06, 0x04, 0x02,
          113          0x04, 0x06, 0x04, 0x6c, 0x04, 0x68, 0x04, 0x58,
          114          0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x07, 0xc0, },
          115         {0x00, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80,
          116          0x03, 0x90, 0x03, 0x90, 0x03, 0xf8, 0x03, 0xfc,
          117          0x03, 0xf8, 0x03, 0x90, 0x03, 0x90, 0x03, 0x80,
          118          0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x00, 0x00, }
          119 };
          120 
          121 Cursor br = {
          122         {-11, -11},
          123         {0x00, 0xf8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88,
          124          0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88,
          125          0xff, 0x88, 0x80, 0x0b, 0x80, 0x0d, 0x80, 0x05,
          126          0xff, 0xe1, 0x00, 0x31, 0x00, 0x41, 0x00, 0x7f, },
          127         {0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70,
          128          0x0, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70,
          129          0x00, 0x70, 0x7f, 0xf0, 0x7f, 0xf2, 0x7f, 0xfa,
          130          0x00, 0x1e, 0x00, 0x0e, 0x00, 0x3e, 0x00, 0x00, }
          131 };
          132 
          133 Cursor b = {
          134         {-7, -7},
          135         {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
          136          0xff, 0xff, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
          137          0xfc, 0x7f, 0x0c, 0x60, 0x10, 0x10, 0x1c, 0x70,
          138          0x06, 0xc0, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, },
          139         {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
          140          0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe,
          141          0x03, 0x80, 0x03, 0x80, 0x0f, 0xe0, 0x03, 0x80,
          142          0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }
          143 };
          144 
          145 Cursor bl = {
          146         {-4, -11},
          147         {0x1f, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00,
          148          0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00,
          149          0x11, 0xff, 0xd0, 0x01, 0xb0, 0x01, 0xa0, 0x01,
          150          0x87, 0xff, 0x8c, 0x00, 0x82, 0x00, 0xfe, 0x00, },
          151         {0x00, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00,
          152          0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00,
          153          0x0e, 0x00, 0x0f, 0xfe, 0x4f, 0xfe, 0x5f, 0xfe,
          154          0x78, 0x00, 0x70, 0x00, 0x7c, 0x00, 0x00, 0x0, }
          155 };
          156 
          157 Cursor l = {
          158         {-7, -7},
          159         {0x03, 0xe0, 0x02, 0x20, 0x02, 0x20, 0x1a, 0x20,
          160          0x16, 0x20, 0x36, 0x20, 0x60, 0x20, 0x40, 0x20,
          161          0x60, 0x20, 0x36, 0x20, 0x16, 0x20, 0x1a, 0x20,
          162          0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x03, 0xe0, },
          163         {0x00, 0x00, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
          164          0x09, 0xc0, 0x09, 0xc0, 0x1f, 0xc0, 0x3f, 0xc0,
          165          0x1f, 0xc0, 0x09, 0xc0, 0x09, 0xc0, 0x01, 0xc0,
          166          0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0x00, }
          167 };
          168 
          169 Cursor *corners[9] = {
          170         &tl,        &t,        &tr,
          171         &l,        nil,        &r,
          172         &bl,        &b,        &br
          173 };
          174 
          175 void
          176 iconinit(void)
          177 {
          178         background = allocimage(display, Rect(0,0,1,1), RGB24, 1, 0x777777FF);
          179         red = allocimage(display, Rect(0,0,1,1), RGB24, 1, 0xDD0000FF);
          180 }