gtkmm 4.14.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gdk::DragSurface Class Reference

Interface for drag surface surfaces. More...

#include <gdkmm/dragsurface.h>

Inheritance diagram for Gdk::DragSurface:
Inheritance graph
[legend]

Public Member Functions

 DragSurface (DragSurface && src) noexcept
 
DragSurfaceoperator= (DragSurface && src) noexcept
 
 ~DragSurface () noexcept override
 
GdkDragSurface * gobj ()
 Provides access to the underlying C GObject. More...
 
const GdkDragSurface * gobj () const
 Provides access to the underlying C GObject. More...
 
bool present (int width, int height)
 Present drag_surface. More...
 
Glib::SignalProxy< void(DragSurfaceSize &)> signal_compute_size ()
 

Static Public Member Functions

static void add_interface (GType gtype_implementer)
 
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Protected Member Functions

 DragSurface ()
 You should derive from this class to use it. More...
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gdk::DragSurfacewrap (GdkDragSurface * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

Interface for drag surface surfaces.

A Gdk::DragSurface is a surface that is used during a DnD operation.

Since gtkmm 3.98:

Constructor & Destructor Documentation

◆ DragSurface() [1/2]

Gdk::DragSurface::DragSurface ( )
protected

You should derive from this class to use it.

◆ DragSurface() [2/2]

Gdk::DragSurface::DragSurface ( DragSurface &&  src)
noexcept

◆ ~DragSurface()

Gdk::DragSurface::~DragSurface ( )
overridenoexcept

Member Function Documentation

◆ add_interface()

static void Gdk::DragSurface::add_interface ( GType  gtype_implementer)
static

◆ get_type()

static GType Gdk::DragSurface::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GdkDragSurface * Gdk::DragSurface::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GdkDragSurface * Gdk::DragSurface::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ operator=()

DragSurface & Gdk::DragSurface::operator= ( DragSurface &&  src)
noexcept

◆ present()

bool Gdk::DragSurface::present ( int  width,
int  height 
)

Present drag_surface.

Parameters
widthThe unconstrained drag_surface width to layout.
heightThe unconstrained drag_surface height to layout.
Returns
false if it failed to be presented, otherwise true.

◆ signal_compute_size()

Glib::SignalProxy< void(DragSurfaceSize &)> Gdk::DragSurface::signal_compute_size ( )
Slot Prototype:
void on_my_compute_size(DragSurfaceSize& size)

Flags: Run Last

Emitted when the size for the surface needs to be computed, when it is present.

This signal will normally be emitted during the native surface layout cycle when the surface size needs to be recomputed.

It is the responsibility of the drag surface user to handle this signal and compute the desired size of the surface, storing the computed size in the Gdk::DragSurfaceSize object that is passed to the signal handler, using Gdk::DragSurfaceSize::set_size().

Failing to set a size so will result in an arbitrary size being used as a result.

Since gtkmm 4.12:
Parameters
sizeThe size of the drag surface.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gdk::DragSurface > wrap ( GdkDragSurface *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.