r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / plugins / svg / svgwin.h
blobc07eee0a8b7a4e06e4eead8f9cbd6b976fb30b72
1 #ifndef SVGWIN_H
2 #define SVGWIN_H
4 #include "guicast.h"
5 #include "filexml.h"
6 #include "mutex.h"
7 #include "pluginclient.h"
8 #include "svg.h"
9 #include "thread.h"
11 class SvgThread;
12 class SvgWin;
14 PLUGIN_THREAD_HEADER(SvgMain, SvgThread, SvgWin)
16 class SvgCoord;
17 class NewSvgButton;
18 class NewSvgWindow;
19 class EditSvgButton;
21 class SvgWin : public BC_Window
23 public:
24 SvgWin(SvgMain *client, int x, int y);
25 ~SvgWin();
27 int create_objects();
28 int close_event();
30 SvgCoord *in_x, *in_y, *in_w, *in_h, *out_x, *out_y, *out_w, *out_h;
31 SvgMain *client;
32 BC_Title *svg_file_title;
33 NewSvgButton *new_svg_button;
34 NewSvgWindow *new_svg_thread;
35 EditSvgButton *edit_svg_button;
38 class SvgCoord : public BC_TumbleTextBox
40 public:
41 SvgCoord(SvgWin *win,
42 SvgMain *client,
43 int x,
44 int y,
45 float *value);
46 ~SvgCoord();
47 int handle_event();
49 SvgMain *client;
50 SvgWin *win;
51 float *value;
55 class NewSvgButton : public BC_GenericButton, public Thread
57 public:
58 NewSvgButton(SvgMain *client, SvgWin *window, int x, int y);
59 int handle_event();
60 void run();
62 int quit_now;
63 SvgMain *client;
64 SvgWin *window;
67 class EditSvgButton : public BC_GenericButton, public Thread
69 public:
70 EditSvgButton(SvgMain *client, SvgWin *window, int x, int y);
71 int handle_event();
72 void run();
74 int quit_now;
75 SvgMain *client;
76 SvgWin *window;
77 Mutex editing_lock;
78 int editing;
81 class NewSvgWindow : public BC_FileBox
83 public:
84 NewSvgWindow(SvgMain *client, SvgWin *window, char *init_directory);
85 ~NewSvgWindow();
86 SvgMain *client;
87 SvgWin *window;
90 class SvgSodipodiThread : public Thread
92 public:
93 SvgSodipodiThread(SvgMain *client, SvgWin *window);
94 ~SvgSodipodiThread();
95 void run();
96 SvgMain *client;
97 SvgWin *window;
101 #endif