gtkmm: Gdk::PopupSurfaceImpl Class Reference

Gdk::PopupSurfaceImpl is a Gdk::Surface that implements the Gdk::Popup interface. More...

#include <gdkmm/popupsurfaceimpl.h>

Inheritance diagram for Gdk::PopupSurfaceImpl:

Public Member Functions

 PopupSurfaceImpl (PopupSurfaceImpl&& src) noexcept
 
PopupSurfaceImploperator= (PopupSurfaceImpl&& src) noexcept
 
 ~PopupSurfaceImpl () noexcept override
 
- Public Member Functions inherited from Gdk::Popup
 Popup (Popup&& src) noexcept
 
Popupoperator= (Popup&& src) noexcept
 
 ~Popup () noexcept override
 
GdkPopup* gobj ()
 Provides access to the underlying C GObject. More...

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

 
bool present (int width, int height, const Glib::RefPtr< PopupLayout >& layout)
 Present popup after having processed the Gdk::PopupLayout rules. More...

 
Gravity get_surface_anchor () const
 Gets the current popup surface anchor. More...

 
Gravity get_rect_anchor () const
 Gets the current popup rectangle anchor. More...

 
Glib::RefPtr< Surfaceget_parent ()
 Returns the parent surface of a popup. More...

 
Glib::RefPtr< const Surfaceget_parent () const
 Returns the parent surface of a popup. More...

 
int get_position_x () const
 Obtains the position of the popup relative to its parent. More...

 
int get_position_y () const
 Obtains the position of the popup relative to its parent. More...

 
bool get_autohide () const
 Returns whether this popup is set to hide on outside clicks. More...

 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Surface > > property_parent () const
 The parent surface. More...

 
Glib::PropertyProxy_ReadOnly< bool > property_autohide () const
 Whether to hide on outside clicks. 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 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::Popup
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::Popup
 Popup ()
 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::PopupSurfaceImpl is a Gdk::Surface that implements the Gdk::Popup interface.

The GdkPopup interface can be implemented by C classes that derive from GdkSurface. No public GTK class implements GdkPopup. Some GTK functions, such as gdk_surface_new_popup(), return an object of a class which is derived from GdkSurface and implements GdkPopup. 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::PopupSurfaceImpl object. Gdk::PopupSurfaceImpl 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_popup()
Since gtkmm 3.98:

Constructor & Destructor Documentation

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

Member Function Documentation

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