Working glyph rendering (except for transparent text)
[libguac-client-rdp.git] / include / client.h
index c24f782..246834f 100644 (file)
 
 #include <guacamole/client.h>
 
-#define RDP_DEFAULT_PORT 3389
+#include "rdp_keymap.h"
 
-typedef struct guac_rdp_color {
-    int red;
-    int green;
-    int blue;
-} guac_rdp_color;
+#define RDP_DEFAULT_PORT 3389
 
 typedef struct rdp_guac_client_data {
 
     freerdp* rdp_inst;
-       rdpSettings* settings;
+    rdpSettings* settings;
 
     int mouse_button_mask;
 
-    guac_rdp_color foreground;
-    guac_rdp_color background;
+    /**
+     * Cairo surface which will receive all drawn glyphs.
+     */
+    cairo_surface_t* glyph_surface;
+
+    /**
+     * Cairo instance for drawing to glyph surface.
+     */
+    cairo_t* glyph_cairo;
 
     const guac_layer* current_surface;
 
+    guac_rdp_static_keymap keymap;
+
+    guac_rdp_keysym_state_map keysym_state;
+
 } rdp_guac_client_data;
 
 typedef struct rdp_freerdp_context {