Mercurial > sdl-ios-xcode
view docs/man3/SDL_CreateCursor.3 @ 1558:b46bb79cc197
Fixed bug #113:
Date: Sat, 16 Apr 2005 08:39:22 +1000
From: "Eric Mangold"
Subject: [SDL] Window manager does not show SDL window titles
Hello,
I have an issue with SDL-using applications and the sawfish window manager.
The problem is that SDL windows do not show the window caption. My gnome
panel *does* show the window name, but the actual sawfish window frame
shows no caption at all. All other non-SDL applications that I use work
fine.
I tried a couple other window managers, and they *were* able to show the
SDL window captions correctly. Though there many be other WMs that can't.
I believe the problem is that SDL is using the UTF8_STRING type for the
window's WM_NAME and WM_ICON properties. In fact, WM_NAME and WM_ICON are
supposed to set to a TEXT type, usually STRING (ISO 8859-1).
The property names _NET_WM_NAME and _NET_WM_ICON_NAME should be used to
store the UTF8_STRING versions of the window title and icon name.
You can see the properties I refer to with a command like this:
xprop|grep -e "WM.*NAME"
Please note the freedesktop.org standard:
http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2506954
This page talks a little bit about the history of these properties. Just
search down the page for "WM_NAME".
http://www.cl.cam.ac.uk/~mgk25/unicode.html
Please let me know if I can be of any assistance in resolving this issue.
Thanks,
Eric Mangold
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 20 Mar 2006 07:31:36 +0000 |
parents | e5bc29de3f0a |
children | 546f7c1eb755 |
line wrap: on
line source
.TH "SDL_CreateCursor" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" .SH "NAME" SDL_CreateCursor\- Creates a new mouse cursor\&. .SH "SYNOPSIS" .PP \fB#include "SDL\&.h" .sp \fBSDL_Cursor *\fBSDL_CreateCursor\fP\fR(\fBUint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y\fR); .SH "DESCRIPTION" .PP Create a cursor using the specified \fBdata\fR and \fBmask\fR (in MSB format)\&. The cursor width must be a multiple of 8 bits\&. .PP The cursor is created in black and white according to the following: .TP 20 \fBData / Mask\fR \fBResulting pixel on screen\fR .TP 20 0 / 1 White .TP 20 1 / 1 Black .TP 20 0 / 0 Transparent .TP 20 1 / 0 Inverted color if possible, black if not\&. .PP Cursors created with this function must be freed with \fISDL_FreeCursor\fR\&. .SH "EXAMPLE" .PP .nf \f(CW/* Stolen from the mailing list */ /* Creates a new mouse cursor from an XPM */ /* XPM */ static const char *arrow[] = { /* width height num_colors chars_per_pixel */ " 32 32 3 1", /* colors */ "X c #000000", "\&. c #ffffff", " c None", /* pixels */ "X ", "XX ", "X\&.X ", "X\&.\&.X ", "X\&.\&.\&.X ", "X\&.\&.\&.\&.X ", "X\&.\&.\&.\&.\&.X ", "X\&.\&.\&.\&.\&.\&.X ", "X\&.\&.\&.\&.\&.\&.\&.X ", "X\&.\&.\&.\&.\&.\&.\&.\&.X ", "X\&.\&.\&.\&.\&.XXXXX ", "X\&.\&.X\&.\&.X ", "X\&.X X\&.\&.X ", "XX X\&.\&.X ", "X X\&.\&.X ", " X\&.\&.X ", " X\&.\&.X ", " X\&.\&.X ", " XX ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "0,0" }; static SDL_Cursor *init_system_cursor(const char *image[]) { int i, row, col; Uint8 data[4*32]; Uint8 mask[4*32]; int hot_x, hot_y; i = -1; for ( row=0; row<32; ++row ) { for ( col=0; col<32; ++col ) { if ( col % 8 ) { data[i] <<= 1; mask[i] <<= 1; } else { ++i; data[i] = mask[i] = 0; } switch (image[4+row][col]) { case \&'X\&': data[i] |= 0x01; k[i] |= 0x01; break; case \&'\&.\&': mask[i] |= 0x01; break; case \&' \&': break; } } } sscanf(image[4+row], "%d,%d", &hot_x, &hot_y); return SDL_CreateCursor(data, mask, 32, 32, hot_x, hot_y); }\fR .fi .PP .SH "SEE ALSO" .PP \fI\fBSDL_FreeCursor\fP\fR, \fI\fBSDL_SetCursor\fP\fR, \fI\fBSDL_ShowCursor\fP\fR ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01