summaryrefslogtreecommitdiff
path: root/cogl/cogl-output.c
diff options
context:
space:
mode:
Diffstat (limited to 'cogl/cogl-output.c')
-rw-r--r--cogl/cogl-output.c110
1 files changed, 110 insertions, 0 deletions
diff --git a/cogl/cogl-output.c b/cogl/cogl-output.c
new file mode 100644
index 00000000..1f5e78fc
--- /dev/null
+++ b/cogl/cogl-output.c
@@ -0,0 +1,110 @@
+/*
+ * Cogl
+ *
+ * An object oriented GL/GLES Abstraction/Utility Layer
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ * 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 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 <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "cogl-output-private.h"
+
+#include <string.h>
+
+static void _cogl_output_free (CoglOutput *output);
+
+COGL_OBJECT_DEFINE (Output, output);
+
+CoglOutput *
+_cogl_output_new (const char *name)
+{
+ CoglOutput *output;
+
+ output = g_slice_new0 (CoglOutput);
+ output->name = g_strdup (name);
+
+ return _cogl_output_object_new (output);
+}
+
+static void
+_cogl_output_free (CoglOutput *output)
+{
+ g_free (output->name);
+
+ g_slice_free (CoglOutput, output);
+}
+
+gboolean
+_cogl_output_values_equal (CoglOutput *output,
+ CoglOutput *other)
+{
+ return memcmp ((const char *)output + G_STRUCT_OFFSET (CoglOutput, x),
+ (const char *)other + G_STRUCT_OFFSET (CoglOutput, x),
+ sizeof (CoglOutput) - G_STRUCT_OFFSET (CoglOutput, x)) == 0;
+}
+
+int
+cogl_output_get_x (CoglOutput *output)
+{
+ return output->x;
+}
+
+int
+cogl_output_get_y (CoglOutput *output)
+{
+ return output->y;
+}
+
+int
+cogl_output_get_width (CoglOutput *output)
+{
+ return output->width;
+}
+
+int
+cogl_output_get_height (CoglOutput *output)
+{
+ return output->height;
+}
+
+int
+cogl_output_get_mm_width (CoglOutput *output)
+{
+ return output->mm_width;
+}
+
+int
+cogl_output_get_mm_height (CoglOutput *output)
+{
+ return output->mm_height;
+}
+
+CoglSubpixelOrder
+cogl_output_get_subpixel_order (CoglOutput *output)
+{
+ return output->subpixel_order;
+}
+
+float
+cogl_output_get_refresh_rate (CoglOutput *output)
+{
+ return output->refresh_rate;
+}