本文整理了Java中org.eclipse.swt.widgets.Shell.isCustomResize()
方法的一些代码示例,展示了Shell.isCustomResize()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Shell.isCustomResize()
方法的具体详情如下:
包路径:org.eclipse.swt.widgets.Shell
类名称:Shell
方法名:isCustomResize
暂无
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.s390x
@Override
long /*int*/ gtk_leave_notify_event (long /*int*/ widget, long /*int*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
GdkEventCrossing gdkEvent = new GdkEventCrossing ();
OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
if ((gdkEvent.state & OS.GDK_BUTTON1_MASK) == 0) {
long /*int*/ window = gtk_widget_get_window (shellHandle);
OS.gdk_window_set_cursor (window, 0);
display.resizeMode = 0;
}
}
return 0;
}
return super.gtk_leave_notify_event (widget, event);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.aix.ppc
@Override
int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
GdkEventCrossing gdkEvent = new GdkEventCrossing ();
OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
if ((gdkEvent.state & OS.GDK_BUTTON1_MASK) == 0) {
int /*long*/ window = gtk_widget_get_window (shellHandle);
OS.gdk_window_set_cursor (window, 0);
display.resizeMode = 0;
}
}
return 0;
}
return super.gtk_leave_notify_event (widget, event);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc
@Override
int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
GdkEventCrossing gdkEvent = new GdkEventCrossing ();
OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
if ((gdkEvent.state & OS.GDK_BUTTON1_MASK) == 0) {
int /*long*/ window = gtk_widget_get_window (shellHandle);
OS.gdk_window_set_cursor (window, 0);
display.resizeMode = 0;
}
}
return 0;
}
return super.gtk_leave_notify_event (widget, event);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc
sendEvent (SWT.Activate);
if (isDisposed ()) return 0;
if (isCustomResize ()) {
OS.gdk_window_invalidate_rect (gtk_widget_get_window (shellHandle), null, false);
if (isCustomResize ()) {
OS.gdk_window_invalidate_rect (gtk_widget_get_window (shellHandle), null, false);
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.aix.ppc
sendEvent (SWT.Activate);
if (isDisposed ()) return 0;
if (isCustomResize ()) {
OS.gdk_window_invalidate_rect (gtk_widget_get_window (shellHandle), null, false);
if (isCustomResize ()) {
OS.gdk_window_invalidate_rect (gtk_widget_get_window (shellHandle), null, false);
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.aix.ppc
@Override
int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
if ((style & SWT.ON_TOP) != 0 && (style & SWT.NO_FOCUS) == 0) {
forceActive ();
}
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
if (gdkEvent.button == 1) {
display.resizeLocationX = gdkEvent.x_root;
display.resizeLocationY = gdkEvent.y_root;
int [] x = new int [1], y = new int [1];
OS.gtk_window_get_position (shellHandle, x, y);
display.resizeBoundsX = x [0];
display.resizeBoundsY = y [0];
GtkAllocation allocation = new GtkAllocation ();
OS.gtk_widget_get_allocation (shellHandle, allocation);
display.resizeBoundsWidth = allocation.width;
display.resizeBoundsHeight = allocation.height;
}
}
return 0;
}
return super.gtk_button_press_event (widget, event);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.s390x
@Override
long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
if ((style & SWT.ON_TOP) != 0 && (style & SWT.NO_FOCUS) == 0) {
forceActive ();
}
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
if (gdkEvent.button == 1) {
display.resizeLocationX = gdkEvent.x_root;
display.resizeLocationY = gdkEvent.y_root;
int [] x = new int [1], y = new int [1];
OS.gtk_window_get_position (shellHandle, x, y);
display.resizeBoundsX = x [0];
display.resizeBoundsY = y [0];
GtkAllocation allocation = new GtkAllocation ();
OS.gtk_widget_get_allocation (shellHandle, allocation);
display.resizeBoundsWidth = allocation.width;
display.resizeBoundsHeight = allocation.height;
}
}
return 0;
}
return super.gtk_button_press_event (widget, event);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc
@Override
int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
if ((style & SWT.ON_TOP) != 0 && (style & SWT.NO_FOCUS) == 0) {
forceActive ();
}
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
if (gdkEvent.button == 1) {
display.resizeLocationX = gdkEvent.x_root;
display.resizeLocationY = gdkEvent.y_root;
int [] x = new int [1], y = new int [1];
OS.gtk_window_get_position (shellHandle, x, y);
display.resizeBoundsX = x [0];
display.resizeBoundsY = y [0];
GtkAllocation allocation = new GtkAllocation ();
OS.gtk_widget_get_allocation (shellHandle, allocation);
display.resizeBoundsWidth = allocation.width;
display.resizeBoundsHeight = allocation.height;
}
}
return 0;
}
return super.gtk_button_press_event (widget, event);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.aix.ppc
@Override
Rectangle computeTrimInPixels (int x, int y, int width, int height) {
checkWidget();
Rectangle trim = super.computeTrimInPixels (x, y, width, height);
int border = 0;
if ((style & (SWT.NO_TRIM | SWT.BORDER | SWT.SHELL_TRIM)) == 0) {
border = OS.gtk_container_get_border_width (shellHandle);
}
if (isCustomResize ()) {
border = OS.gtk_container_get_border_width (shellHandle);
}
int trimWidth = trimWidth (), trimHeight = trimHeight ();
trim.x -= (trimWidth / 2) + border;
trim.y -= trimHeight - (trimWidth / 2) + border;
trim.width += trimWidth + border * 2;
trim.height += trimHeight + border * 2;
if (menuBar != null) {
forceResize ();
GtkAllocation allocation = new GtkAllocation ();
OS.gtk_widget_get_allocation (menuBar.handle, allocation);
int menuBarHeight = allocation.height;
trim.y -= menuBarHeight;
trim.height += menuBarHeight;
}
return trim;
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc
@Override
Rectangle computeTrimInPixels (int x, int y, int width, int height) {
checkWidget();
Rectangle trim = super.computeTrimInPixels (x, y, width, height);
int border = 0;
if ((style & (SWT.NO_TRIM | SWT.BORDER | SWT.SHELL_TRIM)) == 0) {
border = OS.gtk_container_get_border_width (shellHandle);
}
if (isCustomResize ()) {
border = OS.gtk_container_get_border_width (shellHandle);
}
int trimWidth = trimWidth (), trimHeight = trimHeight ();
trim.x -= (trimWidth / 2) + border;
trim.y -= trimHeight - (trimWidth / 2) + border;
trim.width += trimWidth + border * 2;
trim.height += trimHeight + border * 2;
if (menuBar != null) {
forceResize ();
GtkAllocation allocation = new GtkAllocation ();
OS.gtk_widget_get_allocation (menuBar.handle, allocation);
int menuBarHeight = allocation.height;
trim.y -= menuBarHeight;
trim.height += menuBarHeight;
}
return trim;
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.s390x
@Override
Rectangle computeTrimInPixels (int x, int y, int width, int height) {
checkWidget();
Rectangle trim = super.computeTrimInPixels (x, y, width, height);
int border = 0;
if ((style & (SWT.NO_TRIM | SWT.BORDER | SWT.SHELL_TRIM)) == 0) {
border = OS.gtk_container_get_border_width (shellHandle);
}
if (isCustomResize ()) {
border = OS.gtk_container_get_border_width (shellHandle);
}
int trimWidth = trimWidth (), trimHeight = trimHeight ();
trim.x -= (trimWidth / 2) + border;
trim.y -= trimHeight - (trimWidth / 2) + border;
trim.width += trimWidth + border * 2;
trim.height += trimHeight + border * 2;
if (menuBar != null) {
forceResize ();
GtkAllocation allocation = new GtkAllocation ();
OS.gtk_widget_get_allocation (menuBar.handle, allocation);
int menuBarHeight = allocation.height;
trim.y -= menuBarHeight;
trim.height += menuBarHeight;
}
return trim;
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.s390x
@Override
long /*int*/ gtk_draw (long /*int*/ widget, long /*int*/ cairo) {
if (widget == shellHandle) {
if (isCustomResize ()) {
int [] width = new int [1];
int [] height = new int [1];
long /*int*/ window = gtk_widget_get_window (widget);
gdk_window_get_size (window, width, height);
int border = OS.gtk_container_get_border_width (widget);
long /*int*/ context = OS.gtk_widget_get_style_context (shellHandle);
//TODO draw shell frame on GTK3
OS.gtk_style_context_save (context);
OS.gtk_render_frame (context, cairo, 0, 0, width [0], border);
OS.gtk_render_frame (context, cairo, 0, height [0] - border, width [0], border);
OS.gtk_render_frame (context, cairo, 0, border, border, height [0] - border - border);
OS.gtk_render_frame (context, cairo, width [0] - border, border, border, height [0] - border - border);
OS.gtk_render_frame (context, cairo, 0 + 10, 0 + 10, width [0] - 20, height [0] - 20);
OS.gtk_style_context_restore (context);
return 1;
}
return 0;
}
return super.gtk_draw (widget, cairo);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.aix.ppc
@Override
int /*long*/ gtk_draw (int /*long*/ widget, int /*long*/ cairo) {
if (widget == shellHandle) {
if (isCustomResize ()) {
int [] width = new int [1];
int [] height = new int [1];
int /*long*/ window = gtk_widget_get_window (widget);
gdk_window_get_size (window, width, height);
int border = OS.gtk_container_get_border_width (widget);
int /*long*/ context = OS.gtk_widget_get_style_context (shellHandle);
//TODO draw shell frame on GTK3
OS.gtk_style_context_save (context);
OS.gtk_render_frame (context, cairo, 0, 0, width [0], border);
OS.gtk_render_frame (context, cairo, 0, height [0] - border, width [0], border);
OS.gtk_render_frame (context, cairo, 0, border, border, height [0] - border - border);
OS.gtk_render_frame (context, cairo, width [0] - border, border, border, height [0] - border - border);
OS.gtk_render_frame (context, cairo, 0 + 10, 0 + 10, width [0] - 20, height [0] - 20);
OS.gtk_style_context_restore (context);
return 1;
}
return 0;
}
return super.gtk_draw (widget, cairo);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc
@Override
int /*long*/ gtk_draw (int /*long*/ widget, int /*long*/ cairo) {
if (widget == shellHandle) {
if (isCustomResize ()) {
int [] width = new int [1];
int [] height = new int [1];
int /*long*/ window = gtk_widget_get_window (widget);
gdk_window_get_size (window, width, height);
int border = OS.gtk_container_get_border_width (widget);
int /*long*/ context = OS.gtk_widget_get_style_context (shellHandle);
//TODO draw shell frame on GTK3
OS.gtk_style_context_save (context);
OS.gtk_render_frame (context, cairo, 0, 0, width [0], border);
OS.gtk_render_frame (context, cairo, 0, height [0] - border, width [0], border);
OS.gtk_render_frame (context, cairo, 0, border, border, height [0] - border - border);
OS.gtk_render_frame (context, cairo, width [0] - border, border, border, height [0] - border - border);
OS.gtk_render_frame (context, cairo, 0 + 10, 0 + 10, width [0] - 20, height [0] - 20);
OS.gtk_style_context_restore (context);
return 1;
}
return 0;
}
return super.gtk_draw (widget, cairo);
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.aix.ppc
@Override
int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
GdkEventExpose gdkEventExpose = new GdkEventExpose ();
OS.memmove (gdkEventExpose, event, GdkEventExpose.sizeof);
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc
@Override
int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
GdkEventExpose gdkEventExpose = new GdkEventExpose ();
OS.memmove (gdkEventExpose, event, GdkEventExpose.sizeof);
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.s390x
@Override
long /*int*/ gtk_expose_event (long /*int*/ widget, long /*int*/ event) {
if (widget == shellHandle) {
if (isCustomResize ()) {
GdkEventExpose gdkEventExpose = new GdkEventExpose ();
OS.memmove (gdkEventExpose, event, GdkEventExpose.sizeof);
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.s390x
@Override
void hookEvents () {
super.hookEvents ();
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [KEY_PRESS_EVENT], 0, display.getClosure (KEY_PRESS_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [WINDOW_STATE_EVENT], 0, display.getClosure (WINDOW_STATE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [SIZE_ALLOCATE], 0, display.getClosure (SIZE_ALLOCATE), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [CONFIGURE_EVENT], 0, display.getClosure (CONFIGURE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [DELETE_EVENT], 0, display.getClosure (DELETE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MAP_EVENT], 0, display.shellMapProcClosure, false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [ENTER_NOTIFY_EVENT], 0, display.getClosure (ENTER_NOTIFY_EVENT), false);
OS.g_signal_connect_closure (shellHandle, OS.move_focus, display.getClosure (MOVE_FOCUS), false);
if (!OS.GTK3) {
long /*int*/ window = gtk_widget_get_window (shellHandle);
OS.gdk_window_add_filter (window, display.filterProc, shellHandle);
} else {
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [FOCUS_IN_EVENT], 0, display.getClosure (FOCUS_IN_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [FOCUS_OUT_EVENT], 0, display.getClosure (FOCUS_OUT_EVENT), false);
}
if (isCustomResize ()) {
int mask = OS.GDK_POINTER_MOTION_MASK | OS.GDK_BUTTON_RELEASE_MASK | OS.GDK_BUTTON_PRESS_MASK | OS.GDK_ENTER_NOTIFY_MASK | OS.GDK_LEAVE_NOTIFY_MASK;
OS.gtk_widget_add_events (shellHandle, mask);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [EXPOSE_EVENT], 0, display.getClosure (EXPOSE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [LEAVE_NOTIFY_EVENT], 0, display.getClosure (LEAVE_NOTIFY_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MOTION_NOTIFY_EVENT], 0, display.getClosure (MOTION_NOTIFY_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [BUTTON_PRESS_EVENT], 0, display.getClosure (BUTTON_PRESS_EVENT), false);
}
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.aix.ppc
@Override
void hookEvents () {
super.hookEvents ();
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [KEY_PRESS_EVENT], 0, display.getClosure (KEY_PRESS_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [WINDOW_STATE_EVENT], 0, display.getClosure (WINDOW_STATE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [SIZE_ALLOCATE], 0, display.getClosure (SIZE_ALLOCATE), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [CONFIGURE_EVENT], 0, display.getClosure (CONFIGURE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [DELETE_EVENT], 0, display.getClosure (DELETE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MAP_EVENT], 0, display.shellMapProcClosure, false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [ENTER_NOTIFY_EVENT], 0, display.getClosure (ENTER_NOTIFY_EVENT), false);
OS.g_signal_connect_closure (shellHandle, OS.move_focus, display.getClosure (MOVE_FOCUS), false);
if (!OS.GTK3) {
int /*long*/ window = gtk_widget_get_window (shellHandle);
OS.gdk_window_add_filter (window, display.filterProc, shellHandle);
} else {
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [FOCUS_IN_EVENT], 0, display.getClosure (FOCUS_IN_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [FOCUS_OUT_EVENT], 0, display.getClosure (FOCUS_OUT_EVENT), false);
}
if (isCustomResize ()) {
int mask = OS.GDK_POINTER_MOTION_MASK | OS.GDK_BUTTON_RELEASE_MASK | OS.GDK_BUTTON_PRESS_MASK | OS.GDK_ENTER_NOTIFY_MASK | OS.GDK_LEAVE_NOTIFY_MASK;
OS.gtk_widget_add_events (shellHandle, mask);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [EXPOSE_EVENT], 0, display.getClosure (EXPOSE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [LEAVE_NOTIFY_EVENT], 0, display.getClosure (LEAVE_NOTIFY_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MOTION_NOTIFY_EVENT], 0, display.getClosure (MOTION_NOTIFY_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [BUTTON_PRESS_EVENT], 0, display.getClosure (BUTTON_PRESS_EVENT), false);
}
}
代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc
@Override
void hookEvents () {
super.hookEvents ();
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [KEY_PRESS_EVENT], 0, display.getClosure (KEY_PRESS_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [WINDOW_STATE_EVENT], 0, display.getClosure (WINDOW_STATE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [SIZE_ALLOCATE], 0, display.getClosure (SIZE_ALLOCATE), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [CONFIGURE_EVENT], 0, display.getClosure (CONFIGURE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [DELETE_EVENT], 0, display.getClosure (DELETE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MAP_EVENT], 0, display.shellMapProcClosure, false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [ENTER_NOTIFY_EVENT], 0, display.getClosure (ENTER_NOTIFY_EVENT), false);
OS.g_signal_connect_closure (shellHandle, OS.move_focus, display.getClosure (MOVE_FOCUS), false);
if (!OS.GTK3) {
int /*long*/ window = gtk_widget_get_window (shellHandle);
OS.gdk_window_add_filter (window, display.filterProc, shellHandle);
} else {
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [FOCUS_IN_EVENT], 0, display.getClosure (FOCUS_IN_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [FOCUS_OUT_EVENT], 0, display.getClosure (FOCUS_OUT_EVENT), false);
}
if (isCustomResize ()) {
int mask = OS.GDK_POINTER_MOTION_MASK | OS.GDK_BUTTON_RELEASE_MASK | OS.GDK_BUTTON_PRESS_MASK | OS.GDK_ENTER_NOTIFY_MASK | OS.GDK_LEAVE_NOTIFY_MASK;
OS.gtk_widget_add_events (shellHandle, mask);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [EXPOSE_EVENT], 0, display.getClosure (EXPOSE_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [LEAVE_NOTIFY_EVENT], 0, display.getClosure (LEAVE_NOTIFY_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MOTION_NOTIFY_EVENT], 0, display.getClosure (MOTION_NOTIFY_EVENT), false);
OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [BUTTON_PRESS_EVENT], 0, display.getClosure (BUTTON_PRESS_EVENT), false);
}
}
内容来源于网络,如有侵权,请联系作者删除!