// Generated by gmmproc 2.84.0 -- DO NOT MODIFY! #ifndef _GDKMM_DRAGSURFACESIZE_H #define _GDKMM_DRAGSURFACESIZE_H #include #include #include /* Copyright (C) 2023 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see . */ #include namespace Gdk { /** Information for computing drag surface size. * * %Gdk::DragSurfaceSize contains information that is useful * to compute the size of a drag surface. * * @newin{4,12} */ class GDKMM_API DragSurfaceSize { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS using CppObjectType = DragSurfaceSize; using BaseObjectType = GdkDragSurfaceSize; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ private: public: explicit DragSurfaceSize(GdkDragSurfaceSize* gobject); // Not copyable DragSurfaceSize(const DragSurfaceSize& other) = delete; DragSurfaceSize& operator=(const DragSurfaceSize& other) = delete; // Movable DragSurfaceSize(DragSurfaceSize&& other) noexcept; DragSurfaceSize& operator=(DragSurfaceSize&& other) noexcept; ~DragSurfaceSize() noexcept; /** Checks if this instance is valid. * It is valid if and only if it contains a pointer to a GdkDragSurfaceSize. * For instance, * @code * if (size) * do_something() * @endcode */ explicit operator bool() const; /// Provides access to the underlying C object. GdkDragSurfaceSize* gobj() { return gobject_; } /// Provides access to the underlying C object. const GdkDragSurfaceSize* gobj() const { return gobject_; } /** Sets the size the drag surface prefers to be resized to. * * @newin{4,12} * * @param width The width. * @param height The height. */ void set_size(int width, int height); protected: // The Gdk::DragSurfaceSize instance does not own the wrapped GdkDragSurfaceSize // instance. GdkDragSurfaceSize is a private gtk struct with no public create, // copy or free functions. GdkDragSurfaceSize* gobject_; }; } // namespace Gdk #endif /* _GDKMM_DRAGSURFACESIZE_H */