Code

screen_interface: add method mouse(), replacing CMD_MOUSE_EVENT
[ncmpc.git] / src / screen_interface.h
index 40796bc33c769ee305ec196f2dbb763723727997..e11813a10f88ca1395ae773d63d9164faf2758da 100644 (file)
 struct mpdclient;
 
 struct screen_functions {
-       void (*init)(WINDOW *w, int cols, int rows);
+       void (*init)(WINDOW *w, unsigned cols, unsigned rows);
        void (*exit)(void);
        void (*open)(struct mpdclient *c);
        void (*close)(void);
-       void (*resize)(int cols, int rows);
+       void (*resize)(unsigned cols, unsigned rows);
        void (*paint)(void);
        void (*update)(struct mpdclient *c);
 
@@ -45,6 +45,16 @@ struct screen_functions {
         */
        bool (*cmd)(struct mpdclient *c, command_t cmd);
 
+#ifdef HAVE_GETMOUSE
+       /**
+        * Handle a mouse event.
+        *
+        * @return true if the event was handled (and should not be
+        * handled by the ncmpc core)
+        */
+       bool (*mouse)(struct mpdclient *c, int x, int y, mmask_t bstate);
+#endif
+
        const char *(*get_title)(char *s, size_t size);
 };