summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2016-02-06 14:27:36 +0100
committerDave Davenport <qball@gmpclient.org>2016-02-06 14:27:36 +0100
commitadfc83f07d17b6eed67a3e37ca3ced75bb6ec96d (patch)
treec18281792c3c984ca8daacbc2306f0b1a503e323 /include
parent73169af793c59ee1847325d7faa3f3cf6b4c08c0 (diff)
Restructuring, my biggest joy.
Diffstat (limited to 'include')
-rw-r--r--include/rofi.h13
-rw-r--r--include/view-internal.h73
-rw-r--r--include/view.h89
3 files changed, 104 insertions, 71 deletions
diff --git a/include/rofi.h b/include/rofi.h
index d6bab116..46b674bb 100644
--- a/include/rofi.h
+++ b/include/rofi.h
@@ -83,17 +83,6 @@ int show_error_message ( const char *msg, int markup );
" * The version of rofi you are running\n\n" \
" <i>https://github.com/DaveDavenport/rofi/</i>"
#define ERROR_MSG_MARKUP TRUE
-
-MenuReturn rofi_view_get_return_value ( const RofiViewState *state );
-unsigned int rofi_view_get_selected_line ( const RofiViewState *state );
-unsigned int rofi_view_get_next_position ( const RofiViewState *state );
-void rofi_view_itterrate ( RofiViewState *state, XEvent *event );
-unsigned int rofi_view_get_completed ( const RofiViewState *state );
-const char * rofi_view_get_user_input ( const RofiViewState *state );
-void rofi_view_free ( RofiViewState *state );
-void rofi_view_restart ( RofiViewState *state );
-void rofi_view_set_selected_line ( RofiViewState *state, unsigned int selected_line );
-void rofi_view_queue_redraw ( void );
-void rofi_view_set_active ( RofiViewState *state );
+int locate_switcher ( KeySym key, unsigned int modstate );
/*@}*/
#endif
diff --git a/include/view-internal.h b/include/view-internal.h
new file mode 100644
index 00000000..5c41fd14
--- /dev/null
+++ b/include/view-internal.h
@@ -0,0 +1,73 @@
+#ifndef ROFI_VIEW_INTERNAL_H
+#define ROFI_VIEW_INTERNAL_H
+#include "widget.h"
+#include "textbox.h"
+#include "scrollbar.h"
+
+/**
+ * @ingroup View
+ *
+ * @{
+ */
+// State of the menu.
+
+typedef struct RofiViewState
+{
+ Mode *sw;
+ unsigned int menu_lines;
+ unsigned int max_elements;
+ unsigned int max_rows;
+ unsigned int columns;
+
+ // window width,height
+ unsigned int w, h;
+ int x, y;
+ unsigned int element_width;
+ int top_offset;
+
+ // Update/Refilter list.
+ int update;
+ int refilter;
+ int rchanged;
+ int cur_page;
+
+ // Entries
+ textbox *text;
+ textbox *prompt_tb;
+ textbox *message_tb;
+ textbox *case_indicator;
+ textbox **boxes;
+ scrollbar *scrollbar;
+ int *distance;
+ unsigned int *line_map;
+
+ unsigned int num_lines;
+
+ // Selected element.
+ unsigned int selected;
+ unsigned int filtered_lines;
+ // Last offset in paginating.
+ unsigned int last_offset;
+
+ KeySym prev_key;
+ Time last_button_press;
+
+ int quit;
+ int skip_absorb;
+ // Return state
+ unsigned int selected_line;
+ MenuReturn retv;
+ int *lines_not_ascii;
+ int line_height;
+ unsigned int border;
+ workarea mon;
+
+ // Sidebar view
+ ssize_t num_modi;
+ textbox **modi;
+ // Handlers.
+ void ( *x11_event_loop )( struct RofiViewState *state, XEvent *ev );
+ void ( *finalize )( struct RofiViewState *state );
+}RofiViewState;
+/** @} */
+#endif
diff --git a/include/view.h b/include/view.h
index 8c7d02bc..8e94c77f 100644
--- a/include/view.h
+++ b/include/view.h
@@ -1,63 +1,13 @@
+#ifndef ROFI_VIEW_H
+#define ROFI_VIEW_H
-// State of the menu.
-
-typedef struct RofiViewState
-{
- Mode *sw;
- unsigned int menu_lines;
- unsigned int max_elements;
- unsigned int max_rows;
- unsigned int columns;
-
- // window width,height
- unsigned int w, h;
- int x, y;
- unsigned int element_width;
- int top_offset;
-
- // Update/Refilter list.
- int update;
- int refilter;
- int rchanged;
- int cur_page;
-
- // Entries
- textbox *text;
- textbox *prompt_tb;
- textbox *message_tb;
- textbox *case_indicator;
- textbox **boxes;
- scrollbar *scrollbar;
- int *distance;
- unsigned int *line_map;
-
- unsigned int num_lines;
-
- // Selected element.
- unsigned int selected;
- unsigned int filtered_lines;
- // Last offset in paginating.
- unsigned int last_offset;
-
- KeySym prev_key;
- Time last_button_press;
-
- int quit;
- int skip_absorb;
- // Return state
- unsigned int selected_line;
- MenuReturn retv;
- int *lines_not_ascii;
- int line_height;
- unsigned int border;
- workarea mon;
-
- ssize_t num_modi;
- textbox **modi;
- // Handlers.
- void ( *x11_event_loop )( struct RofiViewState *state, XEvent *ev );
- void ( *finalize )( struct RofiViewState *state );
-}RofiViewState;
+/**
+ * @defgroup View View
+ *
+ * The rofi Menu view.
+ *
+ * @{
+ */
/**
* @param state The Menu Handle
@@ -67,3 +17,24 @@ typedef struct RofiViewState
void rofi_view_finalize ( RofiViewState *state );
RofiViewState * rofi_view_state_create ( void );
+
+MenuReturn rofi_view_get_return_value ( const RofiViewState *state );
+unsigned int rofi_view_get_selected_line ( const RofiViewState *state );
+unsigned int rofi_view_get_next_position ( const RofiViewState *state );
+void rofi_view_itterrate ( RofiViewState *state, XEvent *event );
+unsigned int rofi_view_get_completed ( const RofiViewState *state );
+const char * rofi_view_get_user_input ( const RofiViewState *state );
+void rofi_view_free ( RofiViewState *state );
+void rofi_view_restart ( RofiViewState *state );
+void rofi_view_set_selected_line ( RofiViewState *state, unsigned int selected_line );
+void rofi_view_queue_redraw ( void );
+void rofi_view_set_active ( RofiViewState *state );
+
+void rofi_view_call_thread ( gpointer data, gpointer user_data );
+
+void menu_update ( RofiViewState *state );
+void menu_setup_fake_transparency ( Display *display, RofiViewState *state );
+
+void rofi_view_cleanup ( void );
+/** @} */
+#endif