home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / sun / volume1 / touchup2.5 / part05 / cursor.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-07-12  |  2.8 KB  |  126 lines

  1.  
  2. #ifdef CHANGE_CURSOR
  3.  
  4. /*
  5.  * NOTE: if you do not want the changing cursors remove the compile
  6.  * time option '-DCHANGE_CURSOR' from the Makefile
  7.  */
  8.  
  9. /*
  10.  * This file contains the cursor definitions and some small
  11.  * support routine(s).
  12.  * Can't possibly claim this is very original, so no copyright from me...
  13.  * Pell 8 Jul 88
  14.  */
  15.  
  16. /*
  17.  * NOTE! The ffill_cur is currently not used. Could be needed if the user
  18.  * interface for filling is changed, e.g. like M*cPaint.
  19.  */
  20.  
  21. #include <suntool/sunview.h>
  22. #include <suntool/canvas.h>
  23.  
  24. static short drawcur_data[] = {
  25. #include "draw.cur"
  26. };
  27. static mpr_static(draw_cur_pr, 16, 16, 1, drawcur_data);
  28.  
  29. static short erasecur_data[] = {
  30. #include "erase.cur"
  31. };
  32. static mpr_static(erase_cur_pr, 16, 16, 1, erasecur_data);
  33.  
  34.  
  35. /*************************
  36. * static short ffillcur_data[] = {
  37. * #include "ffill.cur"
  38. * };
  39. * static mpr_static(ffill_cur_pr, 16, 16, 1, ffillcur_data);
  40. ***************************/
  41.  
  42. static short lasocur_data[] = {
  43. #include "laso.cur"
  44. };
  45. static mpr_static(laso_cur_pr, 16, 16, 1, lasocur_data);
  46.  
  47. static short paintcur_data[] = {
  48. #include "paint.cur"
  49. };
  50. static mpr_static(paint_cur_pr, 16, 16, 1, paintcur_data);
  51.  
  52. static short sel_pointcur_data[] = {
  53. #include "sel_point.cur"
  54. };
  55. static mpr_static(sel_point_cur_pr, 16, 16, 1, sel_pointcur_data);
  56.  
  57. static short textcur_data[] = {
  58. #include "text.cur"
  59. };
  60. static mpr_static(text_cur_pr, 16, 16, 1, textcur_data);
  61.  
  62. Cursor old_cur, draw_cur, erase_cur, ffill_cur, laso_cur, paint_cur,
  63.        sel_point_cur, text_cur;
  64.  
  65. /*
  66.  * Init all cursors from static data.
  67.  */
  68.  
  69. init_cursors()
  70. {
  71.   /* old_cur initialized in interface.c */
  72.  
  73.   draw_cur = cursor_create(CURSOR_IMAGE, &draw_cur_pr,
  74.                CURSOR_OP, PIX_SRC^PIX_DST,
  75.                CURSOR_XHOT, 0,
  76.                CURSOR_YHOT, 15,
  77.                0);
  78.   erase_cur = cursor_create(CURSOR_IMAGE, &erase_cur_pr,
  79.                 CURSOR_OP, PIX_SRC^PIX_DST,
  80.                 CURSOR_XHOT, 3,
  81.                 CURSOR_YHOT, 12,
  82.                 0);
  83. /***************
  84.   ffill_cur = cursor_create(CURSOR_IMAGE, &ffill_cur_pr,
  85.                 CURSOR_OP, PIX_SRC^PIX_DST,
  86.                 CURSOR_XHOT, 13,
  87.                 CURSOR_YHOT, 13,
  88.                 0);
  89. *******************/
  90.   laso_cur = cursor_create(CURSOR_IMAGE, &laso_cur_pr,
  91.                CURSOR_OP, PIX_SRC^PIX_DST,
  92.                CURSOR_XHOT, 4,
  93.                CURSOR_YHOT, 15,
  94.                0);
  95.   paint_cur = cursor_create(CURSOR_IMAGE, &paint_cur_pr,
  96.                 CURSOR_OP, PIX_SRC^PIX_DST,
  97.                 CURSOR_XHOT, 2,
  98.                 CURSOR_YHOT, 13,
  99.                 0);
  100.   sel_point_cur = cursor_create(CURSOR_IMAGE, &sel_point_cur_pr,
  101.                 CURSOR_OP, PIX_SRC^PIX_DST,
  102.                 CURSOR_XHOT, 7,
  103.                 CURSOR_YHOT, 7,
  104.                 0);
  105.   text_cur = cursor_create(CURSOR_IMAGE, &text_cur_pr,
  106.                CURSOR_OP, PIX_SRC^PIX_DST,
  107.                CURSOR_XHOT, 5,
  108.                CURSOR_YHOT, 9,
  109.                0);
  110. }
  111.  
  112. /* 
  113.  * Change cursor. Canvas and cursor passed as parameters.
  114.  */
  115.  
  116. change_cursor(can, cur)
  117.      Canvas can;
  118.      Cursor cur;
  119. {
  120.   window_set(can, WIN_CURSOR, cur, 0); /* OK, maybe overkill... */
  121. }
  122.  
  123. #endif
  124.  
  125.  
  126.