98 |
|
|
99 |
Into ``org.nongnu.libvob.GraphicsAPI.Window``:: |
Into ``org.nongnu.libvob.GraphicsAPI.Window``:: |
100 |
|
|
101 |
/** Sets the mouse cursors shape. |
/** Set the mouse cursor for the window. |
102 |
*/ |
*/ |
103 |
void setCursor(Cursor cursor); |
void setCursor(Cursor cursor); |
104 |
|
|
108 |
canvas.setCursor(cursor); |
canvas.setCursor(cursor); |
109 |
} |
} |
110 |
|
|
111 |
Into ``org.nongnu.libvob.GL``:: |
Into ``org.nongnu.libvob.gl.GL``:: |
112 |
|
|
113 |
static private native void impl_Window_setCursor(int id, int shape); |
static private native void impl_Window_setCursor(int id, String shape); |
114 |
|
|
115 |
Into ``org.nongnu.libvob.GL.Window``:: |
Into ``org.nongnu.libvob.gl.GL.Window``:: |
116 |
|
|
117 |
/** Changes mouse cursor on the window. |
/** Set the mouse cursor of the window. |
118 |
*/ |
*/ |
119 |
public void setCursor(int shape) { impl_Window_setCursor(getId(), shape); } |
public void setCursor(String shape) { impl_Window_setCursor(getId(), shape); } |
120 |
|
|
121 |
Into ``org.nongnu.libvob.impl.GL.GLScreen``:: |
Into ``org.nongnu.libvob.impl.GL.GLScreen``:: |
122 |
|
|
123 |
public void setCursor(Cursor cursor) { |
public void setCursor(Cursor cursor) { |
124 |
switch cursor { |
switch cursor { |
125 |
|
case Cursor.CROSSHAIR_CURSOR: window.setCursor("CROSSHAIR_CURSOR"); break; |
126 |
|
case Cursor.DEFAULT_CURSOR: window.setCursor("DEFAULT_CURSOR"); break; |
127 |
|
case Cursor.E_RESIZE_CURSOR: window.setCursor("E_RESIZE_CURSOR"); break; |
128 |
|
case Cursor.HAND_CURSOR: window.setCursor("HAND_CURSOR"); break; |
129 |
|
case Cursor.MOVE_CURSOR: window.setCursor("MOVE_CURSOR"); break; |
130 |
|
case Cursor.N_RESIZE_CURSOR: window.setCursor("N_RESIZE_CURSOR"); break; |
131 |
|
case Cursor.NE_RESIZE_CURSOR: window.setCursor("NE_RESIZE_CURSOR"); break; |
132 |
|
case Cursor.NW_RESIZE_CURSOR: window.setCursor("NW_RESIZE_CURSOR"); break; |
133 |
|
case Cursor.S_RESIZE_CURSOR: window.setCursor("S_RESIZE_CURSOR"); break; |
134 |
|
case Cursor.SE_RESIZE_CURSOR: window.setCursor("SE_RESIZE_CURSOR"); break; |
135 |
|
case Cursor.SW_RESIZE_CURSOR: window.setCursor("SW_RESIZE_CURSOR"); break; |
136 |
|
case Cursor.TEXT_CURSOR: window.setCursor("TEXT_CURSOR"); break; |
137 |
|
case Cursor.W_RESIZE_CURSOR: window.setCursor("W_RESIZE_CURSOR"); break; |
138 |
|
case Cursor.WAIT_CURSOR: window.setCursor("WAIT_CURSOR"); break; |
139 |
|
case Cursor.CUSTOM_CURSOR: window.setCursor("CUSTOM_CURSOR"); break; |
140 |
|
} |
141 |
|
} |
142 |
|
|
143 |
|
public void setCursor(Cursor cursor) { |
144 |
|
switch cursor { |
145 |
case Cursor.CROSSHAIR_CURSOR: window.setCursor(130); break; // XC_tcross |
case Cursor.CROSSHAIR_CURSOR: window.setCursor(130); break; // XC_tcross |
146 |
case Cursor.DEFAULT_CURSOR: window.setCursor(68); break; // XC_left_ptr |
case Cursor.DEFAULT_CURSOR: window.setCursor(68); break; // XC_left_ptr |
147 |
case Cursor.E_RESIZE_CURSOR: window.setCursor(98); break; // XC_righside |
case Cursor.E_RESIZE_CURSOR: window.setCursor(98); break; // XC_righside |
164 |
|
|
165 |
Into ``include/vob/os/Os.cxx Vob.Os.Window``:: |
Into ``include/vob/os/Os.cxx Vob.Os.Window``:: |
166 |
|
|
167 |
virtual void setCursor(int shape) = 0; |
virtual void setCursor(const std::string shape) = 0; |
168 |
|
|
169 |
Into ``src/jni/Main.cxx``:: |
Into ``src/jni/Main.cxx``:: |
170 |
|
|
171 |
jf(void, impl_1Window_1setCursor) |
jf(void, impl_1Window_1setCursor) |
172 |
(JNIEnv *env, jclass, jint id, jint shape) { |
(JNIEnv *env, jclass, jint id, jstring shape) { |
173 |
Os::Window *w = (Os::Window *)windows.get(id); |
Os::Window *w = (Os::Window *)windows.get(id); |
174 |
DBG(dbg) << "Set window "<<id<<" Cursor shape "<<shape<<" at "<<(int)w<<"\n"; |
DBG(dbg) << "Set window "<<id<<" Cursor shape "<<shape<<" at "<<(int)w<<"\n"; |
175 |
w->setCursor(shape); |
std::string shape_str = jstr2stdstr(env, shape); |
176 |
|
std::transform(shape_str.begin(), shape_strend(), |
177 |
|
shape_str.begin(), std::toupper); |
178 |
|
w->setCursor(shape_str); |
179 |
} |
} |
180 |
|
|
181 |
Into ``src/os/Os-GLX.cxx``:: |
Into ``src/os/Os-GLX.cxx``:: |
184 |
|
|
185 |
Into ``src/os/Os-GLX.cxx Vob.Os.LXWindow``:: |
Into ``src/os/Os-GLX.cxx Vob.Os.LXWindow``:: |
186 |
|
|
187 |
virtual void setCursor(int shape) { |
virtual void setCursor(const std::string shape) { |
188 |
XDefineCursor(ws->dpy, xw, XCreateFontCursor(ws->dpy, shape)); |
Cursor cursor = NULL; |
189 |
} |
if (shape == "CROSSHAIR_CURSOR") |
190 |
|
cursor = XCreateFontCursor(ws->dpy, XC_crosshair); |
191 |
|
else if (shape == "DEFAULT_CURSOR") |
192 |
|
cursor = XCreateFontCursor(ws->dpy, XC_left_ptr); |
193 |
|
else if (shape == "E_RESIZE_CURSOR") |
194 |
|
cursor = XCreateFontCursor(ws->dpy, XC_right_side); |
195 |
|
else if (shape == "HAND_CURSOR") |
196 |
|
cursor = XCreateFontCursor(ws->dpy, XC_hand2); |
197 |
|
else if (shape == "MOVE_CURSOR") |
198 |
|
cursor = XCreateFontCursor(ws->dpy, XC_fleur); |
199 |
|
else if (shape == "N_RESIZE_CURSOR") |
200 |
|
cursor = XCreateFontCursor(ws->dpy, XC_top_side); |
201 |
|
else if (shape == "NE_RESIZE_CURSOR") |
202 |
|
cursor = XCreateFontCursor(ws->dpy, XC_top_right_corner); |
203 |
|
else if (shape == "NW_RESIZE_CURSOR") |
204 |
|
cursor = XCreateFontCursor(ws->dpy, XC_top_left_corner); |
205 |
|
else if (shape == "S_RESIZE_CURSOR") |
206 |
|
cursor = XCreateFontCursor(ws->dpy, XC_bottom_side); |
207 |
|
else if (shape == "SE_RESIZE_CURSOR") |
208 |
|
cursor = XCreateFontCursor(ws->dpy, XC_bottom_right_corner); |
209 |
|
else if (shape == "SW_RESIZE_CURSOR") |
210 |
|
cursor = XCreateFontCursor(ws->dpy, XC_bottom_left_corner); |
211 |
|
else if (shape == "TEXT_CURSOR") |
212 |
|
cursor = XCreateFontCursor(ws->dpy, XC_xterm); |
213 |
|
else if (shape == "W_RESIZE_CURSOR") |
214 |
|
cursor = XCreateFontCursor(ws->dpy, XC_left_side); |
215 |
|
else if (shape == "WAIT_CURSOR") |
216 |
|
cursor = XCreateFontCursor(ws->dpy, XC_watch); |
217 |
|
if (cursor != NULL) XDefineCursor(ws->dpy, xw, cursor); |
218 |
|
} |
219 |
|
|
220 |
|
|