summaryrefslogtreecommitdiff
path: root/src/cursor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cursor.h')
-rw-r--r--src/cursor.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/cursor.h b/src/cursor.h
new file mode 100644
index 0000000..15751bd
--- /dev/null
+++ b/src/cursor.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2009 Vincent Sanders <vince@simtec.co.uk>
+ *
+ * This file is part of libnsfb, http://www.netsurf-browser.org/
+ * Licenced under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * This is the *internal* interface for the cursor.
+ */
+
+#ifndef CURSOR_H
+#define CURSOR_H 1
+
+struct nsfb_cursor_s {
+ bool plotted;
+ nsfb_bbox_t loc;
+
+ /* current cursor image */
+ const nsfb_colour_t *pixel;
+ int bmp_width;
+ int bmp_height;
+ int bmp_stride;
+ int hotspot_x;
+ int hotspot_y;
+
+ /* current saved image */
+ nsfb_bbox_t savloc;
+ nsfb_colour_t *sav;
+ int sav_size;
+ int sav_width;
+ int sav_height;
+
+};
+
+/** Plot the cursor saving the image underneath. */
+bool nsfb_cursor_plot(nsfb_t *nsfb, struct nsfb_cursor_s *cursor);
+
+/** Clear the cursor restoring the image underneath */
+bool nsfb_cursor_clear(nsfb_t *nsfb, struct nsfb_cursor_s *cursor);
+
+/** Destroy the cursor */
+bool nsfb_cursor_destroy(struct nsfb_cursor_s *cursor);
+
+#endif /* CURSOR_H */