forked from AuroraMiddleware/gtk
gdk: Add gdk_toplevel_begin_move/resize
For now, these are wrappers around the surface apis, but they are going to replace them, since this operation is only available on toplevels.
This commit is contained in:
parent
2c1d218749
commit
309a7aa253
@ -675,6 +675,8 @@ gdk_toplevel_set_deletable
|
||||
gdk_toplevel_supports_edge_constraints
|
||||
gdk_toplevel_inhibit_system_shortcuts
|
||||
gdk_toplevel_restore_system_shortcuts
|
||||
gdk_toplevel_begin_resize
|
||||
gdk_toplevel_begin_move
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_TOPLEVEL
|
||||
gdk_toplevel_get_type
|
||||
|
@ -23,6 +23,8 @@
|
||||
#include "gdk-private.h"
|
||||
#include "gdktoplevelprivate.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
/**
|
||||
* SECTION:gdktoplevel
|
||||
* @Short_description: Interface for toplevel surfaces
|
||||
@ -512,3 +514,51 @@ gdk_toplevel_restore_system_shortcuts (GdkToplevel *toplevel)
|
||||
|
||||
GDK_TOPLEVEL_GET_IFACE (toplevel)->restore_system_shortcuts (toplevel);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_toplevel_begin_resize:
|
||||
* @toplevel: a #GdkToplevel
|
||||
* @edge: the edge or corner from which the drag is started
|
||||
* @device: the device used for the operation
|
||||
* @button: the button being used to drag, or 0 for a keyboard-initiated drag
|
||||
* @x: surface X coordinate of mouse click that began the drag
|
||||
* @y: surface Y coordinate of mouse click that began the drag
|
||||
* @timestamp: timestamp of mouse click that began the drag (use gdk_event_get_time())
|
||||
*
|
||||
* Begins an interactive resize operation (for a toplevel surface).
|
||||
* You might use this function to implement a “window resize grip.”
|
||||
*/
|
||||
void
|
||||
gdk_toplevel_begin_resize (GdkToplevel *toplevel,
|
||||
GdkSurfaceEdge edge,
|
||||
GdkDevice *device,
|
||||
int button,
|
||||
double x,
|
||||
double y,
|
||||
guint32 timestamp)
|
||||
{
|
||||
gdk_surface_begin_resize_drag (GDK_SURFACE (toplevel), edge, device, button, round (x), round (y), timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_toplevel_begin_move:
|
||||
* @toplevel: a #GdkToplevel
|
||||
* @device: the device used for the operation
|
||||
* @button: the button being used to drag, or 0 for a keyboard-initiated drag
|
||||
* @x: surface X coordinate of mouse click that began the drag
|
||||
* @y: surface Y coordinate of mouse click that began the drag
|
||||
* @timestamp: timestamp of mouse click that began the drag
|
||||
*
|
||||
* Begins an interactive move operation (for a toplevel surface).
|
||||
* You might use this function to implement draggable titlebars.
|
||||
*/
|
||||
void
|
||||
gdk_toplevel_begin_move (GdkToplevel *toplevel,
|
||||
GdkDevice *device,
|
||||
int button,
|
||||
double x,
|
||||
double y,
|
||||
guint32 timestamp)
|
||||
{
|
||||
gdk_surface_begin_move_drag (GDK_SURFACE (toplevel), device, button, round (x), round (y), timestamp);
|
||||
}
|
||||
|
@ -95,6 +95,23 @@ void gdk_toplevel_inhibit_system_shortcuts (GdkToplevel *toplevel,
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gdk_toplevel_restore_system_shortcuts (GdkToplevel *toplevel);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gdk_toplevel_begin_resize (GdkToplevel *toplevel,
|
||||
GdkSurfaceEdge edge,
|
||||
GdkDevice *device,
|
||||
int button,
|
||||
double x,
|
||||
double y,
|
||||
guint32 timestamp);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gdk_toplevel_begin_move (GdkToplevel *toplevel,
|
||||
GdkDevice *device,
|
||||
int button,
|
||||
double x,
|
||||
double y,
|
||||
guint32 timestamp);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user