gtkmm: Gdk::ToplevelSurfaceImpl Class Reference

Gdk::ToplevelSurfaceImpl is a Gdk::Surface that implements the Gdk::Toplevel interface. More...

#include <gdkmm/toplevelsurfaceimpl.h>

Inheritance diagram for Gdk::ToplevelSurfaceImpl:

Public Member Functions

 ToplevelSurfaceImpl (ToplevelSurfaceImpl&& src) noexcept
 
ToplevelSurfaceImploperator= (ToplevelSurfaceImpl&& src) noexcept
 
 ~ToplevelSurfaceImpl () noexcept override
 
- Public Member Functions inherited from Gdk::Toplevel
 Toplevel (Toplevel&& src) noexcept
 
Topleveloperator= (Toplevel&& src) noexcept
 
 ~Toplevel () noexcept override
 
GdkToplevel* gobj ()
 Provides access to the underlying C GObject. More...

 
const GdkToplevel* gobj () const
 Provides access to the underlying C GObject. More...

 
void present (const Glib::RefPtr< ToplevelLayout >& layout)
 Present toplevel after having processed the Gdk::ToplevelLayout rules. More...

 
bool minimize ()
 Asks to minimize the toplevel. More...

 
bool lower ()
 Asks to lower the toplevel below other windows. More...

 
void focus (guint32 timestamp)
 Sets keyboard focus to surface. More...

 
State get_state () const
 Gets the bitwise OR of the currently active surface state flags, from the Gdk::Toplevel::State enumeration. More...

 
void set_title (const Glib::ustring& title)
 Sets the title of a toplevel surface, to be displayed in the titlebar, in lists of windows, etc. More...

 
void set_startup_id (const Glib::ustring& startup_id)
 When using GTK, typically you should use gtk_window_set_startup_id() instead of this low-level function. More...

 
void set_transient_for (const Glib::RefPtr< Surface >& parent)
 Indicates to the window manager that surface is a transient dialog associated with the application surface parent. More...

 
void set_modal (bool modal=true)
 The application can use this hint to tell the window manager that a certain surface has modal behaviour. More...

 
void set_icon_list (const std::vector< Glib::RefPtr< Texture >>& surfaces)
 Sets a list of icons for the surface. More...

 
bool show_window_menu (const Glib::RefPtr< Event >& event)
 Asks the windowing system to show the window menu. More...

 
void set_decorated (bool decorated=true)
 Setting decorated to false hints the desktop environment that the surface has its own, client-side decorations and does not need to have window decorations added. More...

 
void set_deletable (bool deletable=true)
 Setting deletable to true hints the desktop environment that it should offer the user a way to close the surface. More...

 
bool supports_edge_constraints () const
 Returns whether the desktop environment supports tiled window states. More...

 
void inhibit_system_shortcuts (const Glib::RefPtr< Event >& event)
 Requests that the toplevel inhibit the system shortcuts, asking the desktop environment/windowing system to let all keyboard events reach the surface, as long as it is focused, instead of triggering system actions. More...

 
void restore_system_shortcuts ()
 Restore default system keyboard shortcuts which were previously requested to be inhibited by inhibit_system_shortcuts(). More...

 
void begin_resize (SurfaceEdge edge, const Glib::RefPtr< Device >& device, int button, double x, double y, guint32 timestamp)
 Begins an interactive resize operation (for a toplevel surface). More...

 
void begin_move (const Glib::RefPtr< Device >& device, int button, double x, double y, guint32 timestamp)
 Begins an interactive move operation (for a toplevel surface). More...

 
Glib::SignalProxy< void(ToplevelSize&)> signal_compute_size ()
 
Glib::PropertyProxy_ReadOnly< Stateproperty_state () const
 State. More...

 
Glib::PropertyProxy< Glib::ustringproperty_title ()
 The title of the surface. More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_title () const
 The title of the surface. More...

 
Glib::PropertyProxy< Glib::ustringproperty_startup_id ()
 The startup ID of the surface. More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_startup_id () const
 The startup ID of the surface. More...

 
Glib::PropertyProxy< Glib::RefPtr< Surface > > property_transient_for ()
 The transient parent of the surface. More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Surface > > property_transient_for () const
 The transient parent of the surface. More...

 
Glib::PropertyProxy< bool > property_modal ()
 Whether the surface is modal. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_modal () const
 Whether the surface is modal. More...

 
Glib::PropertyProxy< bool > property_decorated ()
 Decorated. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_decorated () const
 Decorated. More...

 
Glib::PropertyProxy< bool > property_deletable ()
 Deletable. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_deletable () const
 Deletable. More...

 
Glib::PropertyProxy< FullscreenModeproperty_fullscreen_mode ()
 Fullscreen mode. More...

 
Glib::PropertyProxy_ReadOnly< FullscreenModeproperty_fullscreen_mode () const
 Fullscreen mode. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_shortcuts_inhibited () const
 Whether keyboard shortcuts are inhibited. More...

 
- Public Member Functions inherited from Glib::Interface
 Interface ()
 
 Interface (Interface &&src) noexcept
 
Interfaceoperator= (Interface &&src) noexcept
 
 Interface (const Glib::Interface_Class &interface_class)
 
 Interface (GObject *castitem)
 
 ~Interface () noexcept override
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
GObject * gobj ()
 
const GObject * gobj () const
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (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
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src) noexcept
 
 ~trackable ()
 
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src) noexcept
 
void remove_destroy_notify_callback (notifiable *data) const
 
- Public Member Functions inherited from Gdk::Surface
 Surface (Surface&& src) noexcept
 
Surfaceoperator= (Surface&& src) noexcept
 
 ~Surface () noexcept override
 
GdkSurface* gobj ()
 Provides access to the underlying C GObject. More...

 
const GdkSurface* gobj () const
 Provides access to the underlying C GObject. More...

 
GdkSurface* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

 
Glib::RefPtr< Displayget_display ()
 Gets the Gdk::Display associated with a Gdk::Surface. More...

 
Glib::RefPtr< const Displayget_display () const
 Gets the Gdk::Display associated with a Gdk::Surface. More...

 
void hide ()
 For toplevel surfaces, withdraws them, so they will no longer be known to the window manager; for all surfaces, unmaps them, so they won’t be displayed. More...

 
void set_input_region (const ::Cairo::RefPtr< ::Cairo::Region >& region)
 Apply the region to the surface for the purpose of event handling. More...

 
bool get_mapped () const
 Checks whether the surface has been mapped (with Gdk::Toplevel::present() or Gdk::Popup::present()). More...

 
void set_cursor (const Glib::RefPtr< Cursor >& cursor)
 Sets the default mouse pointer for a Gdk::Surface. More...

 
void set_cursor ()
 Use the parent surface's cursor. More...

 
void set_device_cursor (const Glib::RefPtr< Device >& device, const Glib::RefPtr< Cursor >& cursor)
 Sets a specific Gdk::Cursor for a given device when it gets inside surface. More...

 
Glib::RefPtr< Cursorget_device_cursor (const Glib::RefPtr< Device >& device)
 Retrieves a Gdk::Cursor pointer for the device currently set on the specified Gdk::Surface, or nullptr. More...

 
Glib::RefPtr< const Cursorget_device_cursor (const Glib::RefPtr< const Device >& device) const
 Retrieves a Gdk::Cursor pointer for the device currently set on the specified Gdk::Surface, or nullptr. More...

 
Glib::RefPtr< Cursorget_cursor ()
 Retrieves a Gdk::Cursor pointer for the cursor currently set on the specified Gdk::Surface, or nullptr. More...

 
Glib::RefPtr< const Cursorget_cursor () const
 Retrieves a Gdk::Cursor pointer for the cursor currently set on the specified Gdk::Surface, or nullptr. More...

 
int get_width () const
 Returns the width of the given surface. More...

 
int get_height () const
 Returns the height of the given surface. More...

 
int get_scale_factor () const
 Returns the internal scale factor that maps from surface coordinates to the actual device pixels. More...

 
bool get_device_position (const Glib::RefPtr< const Device >& device, double& x, double& y, ModifierType& mask) const
 Obtains the current device position in doubles and modifier state. More...

 
::Cairo::RefPtr< ::Cairo::Surfacecreate_similar_surface (::Cairo::Content content, int width, int height)
 Create a new surface that is as compatible as possible with the given surface. More...

 
void beep ()
 Emits a short beep associated to surface in the appropriate display, if supported. More...

 
Glib::RefPtr< Dragdrag_begin_from_point (const Glib::RefPtr< Device >& device, const Glib::RefPtr< ContentProvider >& content, DragAction actions, double dx, double dy)
 Starts a drag and creates a new drag context for it. More...

 
void queue_render ()
 Forces a Gdk::Surface::signal_render() signal emission for surface to be scheduled. More...

 
void request_layout ()
 Request a Gdk::FrameClock::Phase::LAYOUT from the surface's frame clock. More...

 
Glib::RefPtr< FrameClockget_frame_clock ()
 Gets the frame clock for the surface. More...

 
Glib::RefPtr< const FrameClockget_frame_clock () const
 Gets the frame clock for the surface. More...

 
void set_opaque_region (const ::Cairo::RefPtr< const ::Cairo::Region >& region)
 For optimisation purposes, compositing window managers may like to not draw obscured regions of surfaces, or turn off blending during for these regions. More...

 
Glib::RefPtr< Gdk::GLContextcreate_gl_context ()
 Creates a new GLContext matching the framebuffer format to the visual of the Surface. More...

 
Glib::RefPtr< Gdk::CairoContextcreate_cairo_context ()
 Creates a new Gdk::CairoContext for rendering on surface. More...

 
Glib::SignalProxy< void(int, int)> signal_layout ()
 
Glib::SignalProxy< bool(const ::Cairo::RefPtr< const ::Cairo::Region >&)> signal_render ()
 
Glib::SignalProxy< bool(const Glib::RefPtr< const Event >&)> signal_event ()
 
Glib::SignalProxy< void(const Glib::RefPtr< Monitor >&)> signal_enter_monitor ()
 
Glib::SignalProxy< void(const Glib::RefPtr< Monitor >&)> signal_leave_monitor ()
 
Glib::PropertyProxy< Glib::RefPtr< Cursor > > property_cursor ()
 The mouse pointer for a Gdk::Surface. More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Cursor > > property_cursor () const
 The mouse pointer for a Gdk::Surface. More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Display > > property_display () const
 The Gdk::Display connection of the surface. More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< FrameClock > > property_frame_clock () const
 Frame Clock. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_mapped () const
 Mapped. More...

 
Glib::PropertyProxy_ReadOnly< int > property_width () const
 Width. More...

 
Glib::PropertyProxy_ReadOnly< int > property_height () const
 Height. More...

 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
void * get_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
void * steal_data (const QueryQuark &quark)
 
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
 

Additional Inherited Members

- Public Types inherited from Gdk::Toplevel
enum  State {

  State::MINIMIZED = 1 << 0,

  State::MAXIMIZED = 1 << 1,

  State::STICKY = 1 << 2,

  State::FULLSCREEN = 1 << 3,

  State::ABOVE = 1 << 4,

  State::BELOW = 1 << 5,

  State::FOCUSED = 1 << 6,

  State::TILED = 1 << 7,

  State::TOP_TILED = 1 << 8,

  State::TOP_RESIZABLE = 1 << 9,

  State::RIGHT_TILED = 1 << 10,

  State::RIGHT_RESIZABLE = 1 << 11,

  State::BOTTOM_TILED = 1 << 12,

  State::BOTTOM_RESIZABLE = 1 << 13,

  State::LEFT_TILED = 1 << 14,

  State::LEFT_RESIZABLE = 1 << 15

}
 Specifies the state of a toplevel surface. More...

 
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 
- Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify
 
- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 
- Static Public Member Functions inherited from Gdk::Toplevel
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...

 
- Static Public Member Functions inherited from Gdk::Surface
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...

 
static Glib::RefPtr< Surfacecreate_toplevel (const Glib::RefPtr< Display >& display)
 Creates a new toplevel surface. More...

 
static Glib::RefPtr< Surfacecreate_popup (const Glib::RefPtr< Surface >& parent, bool autohide)
 Create a new popup surface. More...

 
- Protected Member Functions inherited from Gdk::Toplevel
 Toplevel ()
 You should derive from this class to use it. More...

 
- 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
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams &construct_params)
 
 Object (GObject *castitem)
 
 ~Object () noexcept override
 

Detailed Description

Gdk::ToplevelSurfaceImpl is a Gdk::Surface that implements the Gdk::Toplevel interface.

The GdkToplevel interface can be implemented by C classes that derive from GdkSurface. No public GTK class implements GdkToplevel. Some GTK functions, such as gdk_surface_new_toplevel(), return an object of a class which is derived from GdkSurface and implements GdkToplevel. Since that C class is not public, it's not wrapped in a C++ class. A C object of such a class can be wrapped in a Gdk::ToplevelSurfaceImpl object. Gdk::ToplevelSurfaceImpl does not directly correspond to any GTK class.

This class is intended only for wrapping C objects returned from GTK functions.

See also
Gdk::Surface::create_toplevel()
Since gtkmm 3.98:

Constructor & Destructor Documentation

Gdk::ToplevelSurfaceImpl::ToplevelSurfaceImpl ( ToplevelSurfaceImpl&&  src)
noexcept
Gdk::ToplevelSurfaceImpl::~ToplevelSurfaceImpl ( )
overridenoexcept

Member Function Documentation

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