* 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, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GDK_WINDOW_QUARTZ_H__
#define __GDK_WINDOW_QUARTZ_H__
-#include <gdk/quartz/gdkdrawable-quartz.h>
#import <gdk/quartz/GdkQuartzView.h>
-#import <gdk/quartz/GdkQuartzWindow.h>
-
+#import <gdk/quartz/GdkQuartzNSWindow.h>
+#include "gdk/gdkwindowimpl.h"
G_BEGIN_DECLS
struct _GdkWindowImplQuartz
{
- GdkDrawableImplQuartz parent_instance;
+ GdkWindowImpl parent_instance;
- gint width;
- gint height;
+ GdkWindow *wrapper;
NSWindow *toplevel;
NSTrackingRectTag tracking_rect;
GdkWindowTypeHint type_hint;
- NSCursor *nscursor;
-
- GdkRegion *paint_clip_region;
+ cairo_region_t *paint_clip_region;
gint begin_paint_count;
gint in_paint_rect_count;
/* Sorted by z-order */
GList *sorted_children;
+
+ cairo_region_t *needs_display_region;
+
+ cairo_surface_t *cairo_surface;
};
struct _GdkWindowImplQuartzClass
{
- GdkDrawableImplQuartzClass parent_class;
+ GdkWindowImplClass parent_class;
+
+ CGContextRef (* get_context) (GdkWindowImplQuartz *window,
+ gboolean antialias);
+ void (* release_context) (GdkWindowImplQuartz *window,
+ CGContextRef cg_context);
};
GType _gdk_window_impl_quartz_get_type (void);
+CGContextRef gdk_quartz_window_get_context (GdkWindowImplQuartz *window,
+ gboolean antialias);
+void gdk_quartz_window_release_context (GdkWindowImplQuartz *window,
+ CGContextRef context);
+
+/* Root window implementation for Quartz
+ */
+
+typedef struct _GdkRootWindowImplQuartz GdkRootWindowImplQuartz;
+typedef struct _GdkRootWindowImplQuartzClass GdkRootWindowImplQuartzClass;
+
+#define GDK_TYPE_ROOT_WINDOW_IMPL_QUARTZ (_gdk_root_window_impl_quartz_get_type ())
+#define GDK_ROOT_WINDOW_IMPL_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_ROOT_WINDOW_IMPL_QUARTZ, GdkRootWindowImplQuartz))
+#define GDK_ROOT_WINDOW_IMPL_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_ROOT_WINDOW_IMPL_QUARTZ, GdkRootWindowImplQuartzClass))
+#define GDK_IS_ROOT_WINDOW_IMPL_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_ROOT_WINDOW_IMPL_QUARTZ))
+#define GDK_IS_ROOT_WINDOW_IMPL_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_ROOT_WINDOW_IMPL_QUARTZ))
+#define GDK_ROOT_WINDOW_IMPL_QUARTZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_ROOT_WINDOW_IMPL_QUARTZ, GdkRootWindowImplQuartzClass))
+
+struct _GdkRootWindowImplQuartz
+{
+ GdkWindowImplQuartz parent_instance;
+};
+
+struct _GdkRootWindowImplQuartzClass
+{
+ GdkWindowImplQuartzClass parent_class;
+};
+
+GType _gdk_root_window_impl_quartz_get_type (void);
+
+
G_END_DECLS
#endif /* __GDK_WINDOW_QUARTZ_H__ */