summaryrefslogtreecommitdiff
path: root/atari/slider.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2011-01-05 21:02:22 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2011-01-05 21:02:22 +0000
commit124e4cd78814e368488d8e86c15f95223f365a44 (patch)
treece09522fee51a4fa1c92c12faa60aeff96403a52 /atari/slider.h
parent9422e6dad0dffa134c961d16e9aa503324245cd7 (diff)
downloadnetsurf-124e4cd78814e368488d8e86c15f95223f365a44.tar.gz
netsurf-124e4cd78814e368488d8e86c15f95223f365a44.tar.bz2
Atari frontend (credit: Ole Loots)
svn path=/trunk/netsurf/; revision=11218
Diffstat (limited to 'atari/slider.h')
-rw-r--r--atari/slider.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/atari/slider.h b/atari/slider.h
new file mode 100644
index 000000000..54aff43c8
--- /dev/null
+++ b/atari/slider.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2010 Ole Loots <ole@monochrom.net>
+ *
+ * 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/>.
+ */
+
+#ifndef NS_SLIDER_H_INCLUDED
+#define NS_SLIDER_H_INCLUDED
+
+/* -------------------------------------------------------------------------- */
+/* Slider Interface: */
+/* -------------------------------------------------------------------------- */
+
+#define BR_SCROLLBAR_SZ 16
+
+/* Calculate how many pixel an specific page of the content contains */
+#define SLIDER_PIXELS_ON_PAGE( long content_dim, long workarea_dim, long page )\
+ min( workarea_dim, content_dim - page * workarea_dim)
+
+/* Returns max internal slider pos, counting from zero */
+#define SLIDER_MAX_POS(content_dim, workarea_dim) max( 0, content_dim - workarea_dim)
+
+/* Calculate the number of content-"pages" for window size */
+long inline slider_pages( long content_dim, long workarea_dim );
+float inline slider_pages_dec( long content_dim, long workarea_dim )
+
+/* Convert content size into gem slider size ( 0 - 1000 ) */
+int inline slider_gem_size( long content_dim, long workarea_dim );
+
+/* convert internal slider position to gem slider position */
+int slider_pos_to_gem_pos( long content_dim, long workarea_dim, long slider_pos );
+
+/* convert gem slider pos to "internal" pos system */
+long slider_gem_pos_to_pos( long content_dim, long workarea_dim, int slider_pos );
+
+/* Calculate the gem slider mover size into pixel size */
+long slider_gem_size_to_res( long workarea_dim, int gem_size );
+
+/* Convert the gem Slider pos to an pixel value */
+long slider_gem_pos_to_res( long content_dim, long workarea_dim, int gem_pos );
+
+
+
+
+#endif