summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2016-05-26 11:18:41 +0100
committerVincent Sanders <vince@kyllikki.org>2016-05-26 11:18:41 +0100
commit6722943b81c0dba84ed187b2d117cc92972117ed (patch)
tree5de3de53a92696c9a4b9edcfd54e7f608ad2fb04 /include
parentc25eb6b7e7a08d7e2aaf33994c2c24053cf47b82 (diff)
downloadnetsurf-6722943b81c0dba84ed187b2d117cc92972117ed.tar.gz
netsurf-6722943b81c0dba84ed187b2d117cc92972117ed.tar.bz2
move the CSS content handler
Diffstat (limited to 'include')
-rw-r--r--include/netsurf/css.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/include/netsurf/css.h b/include/netsurf/css.h
new file mode 100644
index 000000000..bd95eaeeb
--- /dev/null
+++ b/include/netsurf/css.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * \file
+ * Netsurf core css API
+ */
+
+#ifndef NETSURF_CSS_H_
+#define NETSURF_CSS_H_
+
+/**
+ * Convert a CSS color to a NetSurf colour primitive
+ *
+ * ARGB -> (1-A)BGR
+ *
+ * \param c The CSS color to convert
+ * \return Corresponding NetSurf colour primitive
+ */
+#define nscss_color_to_ns(c) \
+ ( ((~c) & 0xff000000) | \
+ ((( c) & 0xff0000 ) >> 16) | \
+ (( c) & 0xff00 ) | \
+ ((( c) & 0xff ) << 16))
+
+
+/**
+ * Convert a NetSurf color to a CSS colour primitive
+ *
+ * (1-A)BGR -> ARGB
+ *
+ * \param c The NetSurf color to convert
+ * \return Corresponding CSS colour primitive
+ */
+#define ns_color_to_nscss(c) \
+ ( ((~c) & 0xff000000) | \
+ ((( c) & 0xff0000 ) >> 16) | \
+ (( c) & 0xff00 ) | \
+ ((( c) & 0xff ) << 16))
+
+/**
+ * Determine if a CSS color primitive is transparent
+ *
+ * \param color The CSS color to consider
+ * \return True if the color is transparent, false otherwise
+ */
+#define nscss_color_is_transparent(color) \
+ (((color) >> 24) == 0)
+
+#endif