summaryrefslogtreecommitdiff
path: root/src/kmscon_mod_pixman.c
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2013-01-24 12:13:29 +0100
committerDavid Herrmann <dh.herrmann@googlemail.com>2013-01-24 12:13:29 +0100
commit79c5ba7185df24ee27c4042f2b903536ff2196ea (patch)
treeb0ccd3aa4917f0baf4b3c68abeb81cc1980b6a9f /src/kmscon_mod_pixman.c
parentd72e44e9a1c8448ba8233391331b48ad0421f541 (diff)
kmscon: add pixman renderer
This is an experimental renderer based on pixman. It is only available for testing-purposes and should not be used in production, yet. The bbulk renderer is still the faster alternative and should be used instead. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Diffstat (limited to 'src/kmscon_mod_pixman.c')
-rw-r--r--src/kmscon_mod_pixman.c57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/kmscon_mod_pixman.c b/src/kmscon_mod_pixman.c
new file mode 100644
index 0000000..a5adfe1
--- /dev/null
+++ b/src/kmscon_mod_pixman.c
@@ -0,0 +1,57 @@
+/*
+ * kmscon - Pixman based rendering backend module
+ *
+ * Copyright (c) 2012-2013 David Herrmann <dh.herrmann@googlemail.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files
+ * (the "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Pixman based rendering backend
+ */
+
+#include <errno.h>
+#include <stdlib.h>
+#include "text.h"
+#include "kmscon_module_interface.h"
+#include "log.h"
+
+#define LOG_SUBSYSTEM "mod_pixman"
+
+static int kmscon_pixman_load(void)
+{
+ int ret;
+
+ kmscon_text_pixman_ops.owner = KMSCON_THIS_MODULE;
+ ret = kmscon_text_register(&kmscon_text_pixman_ops);
+ if (ret) {
+ log_error("cannot register pixman renderer");
+ return ret;
+ }
+
+ return 0;
+}
+
+static void kmscon_pixman_unload(void)
+{
+ kmscon_text_unregister(kmscon_text_pixman_ops.name);
+}
+
+KMSCON_MODULE(NULL, kmscon_pixman_load, kmscon_pixman_unload, NULL);