gtkmm: Gdk::DragSurface Class Reference

gtkmm 4.18.0

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

Interface for drag surface surfaces. More...

`#include <gdkmm/dragsurface.h>`

Inheritance diagram for Gdk::DragSurface:
[legend]

## Public Member Functions
| DragSurface (DragSurface && src) noexcept
DragSurface & | operator= (DragSurface && src) noexcept
| ~DragSurface () noexcept override
GdkDragSurface * | gobj ()
| Provides access to the underlying C GObject.
const GdkDragSurface * | gobj () const
| Provides access to the underlying C GObject.
bool | present (int width, int height)
| Present drag_surface.
Glib::SignalProxy< void(DragSurfaceSize &)> | signal_compute_size ()
Public Member Functions inherited from Glib::Interface
| Interface ()
| Interface (Interface &&src) noexcept
Interface & | operator= (Interface &&src) noexcept
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
| ~Interface () noexcept override
| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
GObject * | gobj ()
const GObject * | gobj () const
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
PropertyType | get_property (const Glib::ustring &property_name) const
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
sigc::connection | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const

## 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.

## Protected Member Functions
| DragSurface ()
| You should derive from this class to use it.
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)

## Related Symbols
(Note that these are not member symbols.)
Glib::RefPtr< Gdk::DragSurface > | wrap (GdkDragSurface * object, bool take_copy=false)
| A Glib::wrap() method for this object.

## 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

  width | The unconstrained drag_surface width to layout.
  height | The 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

  size | The size of the drag surface.

## Friends And Related Symbol Documentation

## ◆ wrap()

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

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

Parameters

  object | The C instance.
  take_copy | False 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.