file: cursor.c
/* * cursor.c - This file contains all functions relating to manipulating * the cursor. */ #include <X11/cursorfont.h> #include "crosshair_cursor.h" #include "crosshair_mask.h" #include "XmdvTool.h" Cursor crosshair_cursor; Cursor arrow_cursor; Cursor right_arrow_cursor; Cursor circle_cursor; /* * CrosshairCursor() - Changes the cursor to a crosshair. */ void CrosshairCursor(Widget w) { XDefineCursor(XtDisplay(w), XtWindow(w), crosshair_cursor); } /* * ArrowCursor() - Restores the cursor to the standard arrow pointer. */ void ArrowCursor(Widget w) { XDefineCursor(XtDisplay(w), XtWindow(w), arrow_cursor); } /* * RightArrowCursor() - Changes the cursor to a right arrow */ void RightArrowCursor(Widget w) { XDefineCursor(XtDisplay(w), XtWindow(w), right_arrow_cursor); } /* * CircleCursor() - Changes the cursor to a circular target */ void CircleCursor(Widget w) { XDefineCursor(XtDisplay(w), XtWindow(w), circle_cursor); } /* * InitCursors() - Initializes and creates the cursor data structures */ void InitCursors(Widget w) { Pixmap cursor_p; Pixmap mask_p; XColor fore_g,back_g; cursor_p = XCreateBitmapFromData(XtDisplay(w), XtWindow(w), crosshair_cursor_bits, crosshair_cursor_width, crosshair_cursor_height); mask_p = XCreateBitmapFromData(XtDisplay(w), XtWindow(w), crosshair_mask_bits, crosshair_mask_width, crosshair_mask_height); fore_g.pixel = WhitePixel(XtDisplay(w), DefaultScreen(XtDisplay(w))); back_g.pixel = BlackPixel(XtDisplay(w), DefaultScreen(XtDisplay(w))); fore_g.red = fore_g.blue = fore_g.green = 65535; back_g.red = back_g.blue = back_g.green = 0; fore_g.flags = back_g.flags = DoRed|DoBlue|DoGreen; crosshair_cursor = XCreatePixmapCursor(XtDisplay(w), cursor_p, mask_p, &fore_g, &back_g, crosshair_cursor_x_hot, crosshair_cursor_y_hot); XFreePixmap(XtDisplay(w),cursor_p); XFreePixmap(XtDisplay(w),mask_p); /* create the standard arrow cursor */ arrow_cursor = XCreateFontCursor(XtDisplay(w), XC_top_left_arrow); /* create a circular target cursor */ circle_cursor = XCreateFontCursor(XtDisplay(w), XC_target); /* create a right arrow cursor */ right_arrow_cursor = XCreateFontCursor(XtDisplay(w), XC_arrow); }
Back to Source File Index
C++ to HTML Conversion by ctoohtml