merge hv v6, rework trace methods
[goodguy/history.git] / cinelerra-5.1 / guicast / bcwindowbase.h
index 4d0e45679bfc9b3fd436849f19c657de301c23bc..c2ed7abc270bd98f01d17fbf51a62f441e264eca 100644 (file)
 #ifndef BCWINDOWBASE_H
 #define BCWINDOWBASE_H
 
-#if defined(HAVE_CONFIG_H)
-#include "config.h"
-#endif
-
-//#define HAVE_LIBXXF86VM
-
 // Window types
 #define MAIN_WINDOW 0
 #define SUB_WINDOW 1
@@ -71,6 +65,7 @@
 #include "bctimer.inc"
 #include "bctitle.inc"
 #include "bctoggle.inc"
+#include "bctrace.inc"
 #include "bctumble.inc"
 #include "bcwindow.inc"
 #include "bcwindowbase.inc"
@@ -130,7 +125,7 @@ public:
 
 
 // Windows, subwindows, popupwindows inherit from this
-class BC_WindowBase
+class BC_WindowBase : public trace_info
 {
 public:
        BC_WindowBase(int opts=0);
@@ -483,6 +478,7 @@ public:
        void slide_right(int distance);
        void slide_up(int distance);
        void slide_down(int distance);
+       void flicker(int n=3, int ms=66);
 
        int cycle_textboxes(int amount);
 
@@ -571,7 +567,7 @@ private:
        int trigger_tooltip();
        int untrigger_tooltip();
        void draw_tooltip();
-       int arm_repeat(int64_t duration);
+       static XEvent *new_xevent();
 // delete all repeater opjects for a close
        int unset_all_repeaters();
 
@@ -586,6 +582,7 @@ private:
 
 // Recursive event dispatchers
        int dispatch_resize_event(int w, int h);
+       int dispatch_flash();
        int dispatch_focus_in();
        int dispatch_focus_out();
        int dispatch_motion_event();
@@ -604,11 +601,13 @@ private:
        int dispatch_expose_event();
 
 // Get the port ID for a color model or return -1 for failure
-       int grab_port_id(BC_WindowBase *window, int color_model);
+       int grab_port_id(int color_model);
 
        int find_next_textbox(BC_WindowBase **first_textbox, BC_WindowBase **next_textbox, int &result);
        int find_prev_textbox(BC_WindowBase **last_textbox, BC_WindowBase **prev_textbox, int &result);
 
+       void xft_draw_string(XftColor *xft_color, XftFont *xft_font, int x, int y,
+               const FcChar32 *fc, int len, BC_Pixmap *pixmap=0);
 
        void translate_coordinates(Window src_w, Window dest_w,
                int src_x, int src_y, int *dest_x_return, int *dest_y_return);
@@ -699,6 +698,7 @@ private:
 #ifndef SINGLE_THREAD
 // Array of repeaters for multiple repeating objects.
        ArrayList<BC_Repeater*> repeaters;
+       int arm_repeat(int64_t duration);
 #endif
 // Text for tooltip if one exists
        const char *tooltip_text;
@@ -713,7 +713,7 @@ private:
 // If this subwindow has already shown a tooltip since the last EnterNotify
        int tooltip_done;
        int options;
-
+       int flash_enabled;
 
 
 // Font sets