manpagez: man pages & more
man X11::CursorFont(3)
Home | html | info | man
X11::CursorFont(3)    User Contributed Perl Documentation   X11::CursorFont(3)




NAME

       X11::CursorFont - cursor font glyph names and numbers


SYNOPSIS

        use X11::CursorFont '%CURSOR_GLYPH';
        my $num = $CURSOR_GLYPH{'fleur'};               # is 52
        my $name = $X11::CursorFont::CURSOR_NAME[52];   # is "fleur"


DESCRIPTION

       This is the names and numbers of the glyphs in the X11 cursor font
       which contains various standard mouse pointer cursors.

       %CURSOR_GLYPH maps a glyph name to its character number in the font,

           $CURSOR_GLYPH{'fleur'}     # is 52

       @CURSOR_NAME conversely is indexed by character number and gives the
       glyph name,

           $CURSOR_NAME[52]           # is "fleur"

       Each glyph has an associated mask at character number glyph+1 which is
       the shape of the cursor (the displayed vs transparent pixels).  So the
       character numbers are always even and in @CURSOR_NAME only the even
       character positions have names.

       The cursor images can be viewed with the usual "xfd" font display
       program,

            xfd -fn cursor

       The names are per the Xlib /usr/include/X11/cursorfont.h file, without
       the "XC_" prefixes.  The full list is

           Name                  Number

           X_cursor                0    default fat X
           arrow                   2
           based_arrow_down        4
           based_arrow_up          6
           boat                    8
           bogosity               10
           bottom_left_corner     12
           bottom_right_corner    14
           bottom_side            16
           bottom_tee             18
           box_spiral             20    a square spiral
           center_ptr             22
           circle                 24
           clock                  26
           coffee_mug             28
           cross                  30
           cross_reverse          32
           crosshair              34    "+" shape
           diamond_cross          36
           dot                    38
           dotbox                 40
           double_arrow           42
           draft_large            44
           draft_small            46
           draped_box             48
           exchange               50
           fleur                  52
           gobbler                54
           gumby                  56
           hand1                  58
           hand2                  60
           heart                  62
           icon                   64
           iron_cross             66
           left_ptr               68
           left_side              70
           left_tee               72
           leftbutton             74
           ll_angle               76
           lr_angle               78
           man                    80
           middlebutton           82
           mouse                  84
           pencil                 86
           pirate                 88    skull and crossbones
           plus                   90
           question_arrow         92
           right_ptr              94
           right_side             96
           right_tee              98
           rightbutton           100
           rtl_logo              102
           sailboat              104
           sb_down_arrow         106
           sb_h_double_arrow     108
           sb_left_arrow         110
           sb_right_arrow        112
           sb_up_arrow           114
           sb_v_double_arrow     116
           shuttle               118
           sizing                120
           spider                122
           spraycan              124
           star                  126
           target                128
           tcross                130
           top_left_arrow        132
           top_left_corner       134
           top_right_corner      136
           top_side              138
           top_tee               140
           trek                  142
           ul_angle              144
           umbrella              146
           ur_angle              148
           watch                 150    a good "busy" indicator
           xterm                 152    a vertical insertion bar

       "X_cursor" is the usual default when the server first starts or when
       the root window is set to cursor "None".


VARIABLES

       %X11::CursorFont::CURSOR_GLYPH
           A mapping of glyph name to cursor font character number.

       @X11::CursorFont::CURSOR_NAME
           A table of cursor font character number to glyph name.


EXPORTS

       Nothing is exported by default, but %CURSOR_GLYPH and @CURSOR_NAME can
       be selected in usual "Exporter" style (see Exporter),

           use X11::CursorFont '%CURSOR_GLYPH', '@CURSOR_NAME';


EXAMPLE

       To create a cursor from a desired glyph,

           my $cursor_name = 'spraycan';
           my $cursor_glyph = $CURSOR_GLYPH{$cursor_name}; # number

           my $cursor_font = $X->new_rsrc;
           $X->OpenFont ($cursor_font, "cursor"); # cursor font

           my $cursor = $X->new_rsrc;
           $X->CreateGlyphCursor
                  ($cursor,
                   $cursor_font,  # font
                   $cursor_font,  # mask font
                   $cursor_glyph,      # glyph
                   $cursor_glyph + 1,  # and its mask
                   0,0,0,                  # foreground, black
                   0xFFFF,0xFFFF,0xFFFF);  # background, white

           $X->CloseFont ($cursor_font);

           # then use $cursor with CreateWindow or ChangeWindowAttributes
           #       cursor => $cursor

       The $cursor_font could be kept open if used repeatedly.  Opening and
       closing isn't a round-trip, so an open when needed may be enough.

       Any RGB colours can be given in "CreateGlyphCursor()", but actual
       appearance on screen will be limited by the hardware.

       All cursors in the core protocol are two-colours with pixels fully
       opaque or fully transparent as per this create.  The RENDER extension,
       when available, can make multi-colour and partial transparency if
       desired (see X11::Protocol::Ext::RENDER).


SEE ALSO

       X11::Protocol, X11::KeySyms

       /usr/include/X11/cursorfont.h and listing in the Xlib manual appendix B
       ("http://www.x.org/docs/X11/" or
       /usr/share/doc/libx11-dev/libX11.txt.gz).

       Xlib Xmu "XmuCursorNameToIndex()" ("http://www.x.org/docs/Xmu/" or
       /usr/share/doc/libxmu-headers/Xmu.txt.gz)

       xfd(1) to display the cursor font.

       xsetroot(1) to change the root window cursor.


HOME PAGE

       <http://user42.tuxfamily.org/x11-protocol-other/index.html>


LICENSE

       Copyright 2011, 2012, 2013, 2014, 2017 Kevin Ryde

       X11-Protocol-Other is free software; you can redistribute it and/or
       modify it under the terms of the GNU General Public License as
       published by the Free Software Foundation; either version 3, or (at
       your option) any later version.

       X11-Protocol-Other is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       General Public License for more details.

       You should have received a copy of the GNU General Public License along
       with X11-Protocol-Other.  If not, see <http://www.gnu.org/licenses/>.



perl v5.28.2                      2017-05-03                X11::CursorFont(3)

x11-protocol-other 31 - Generated Tue Aug 6 15:24:46 CDT 2019
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.