Split out the code that renders the code into a MetaCursorRenderer

Right now, this is the same exact same mess it's always been, but
it will be fixed up soon with backend-specific renderers.
This commit is contained in:
Jasper St. Pierre
2014-04-21 18:05:59 -04:00
parent 18770aaa63
commit d189ddcc86
6 changed files with 511 additions and 302 deletions

View File

@ -27,14 +27,15 @@
#include <gbm.h>
#include "meta-cursor.h"
#include "meta-cursor-renderer.h"
struct _MetaCursorTracker {
GObject parent_instance;
MetaScreen *screen;
MetaCursorRenderer *renderer;
gboolean is_showing;
gboolean has_hw_cursor;
/* The cursor tracker stores the cursor for the current grab
* operation, the cursor for the window with pointer focus, and
@ -61,15 +62,6 @@ struct _MetaCursorTracker {
MetaCursorReference *window_cursor;
MetaCursorReference *root_cursor;
int current_x, current_y;
MetaRectangle current_rect;
MetaRectangle previous_rect;
gboolean previous_is_valid;
CoglPipeline *pipeline;
int drm_fd;
struct gbm_device *gbm;
};
struct _MetaCursorTrackerClass {
@ -90,7 +82,6 @@ void meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker,
void meta_cursor_tracker_update_position (MetaCursorTracker *tracker,
int new_x,
int new_y);
void meta_cursor_tracker_paint (MetaCursorTracker *tracker);
void meta_cursor_tracker_force_update (MetaCursorTracker *tracker);