r972: Fix aspect ratio of YUV4MPEG streams.
[cinelerra_cv/ct.git] / plugins / svg / svgwin.h
blobcfe7284f2b3cda2e8d75706160af650067bfa5ac
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;
36 Mutex editing_lock;
37 int editing;
41 class SvgCoord : public BC_TumbleTextBox
43 public:
44 SvgCoord(SvgWin *win,
45 SvgMain *client,
46 int x,
47 int y,
48 float *value);
49 ~SvgCoord();
50 int handle_event();
52 SvgMain *client;
53 SvgWin *win;
54 float *value;
58 class NewSvgButton : public BC_GenericButton, public Thread
60 public:
61 NewSvgButton(SvgMain *client, SvgWin *window, int x, int y);
62 int handle_event();
63 void run();
65 int quit_now;
66 SvgMain *client;
67 SvgWin *window;
70 class EditSvgButton : public BC_GenericButton, public Thread
72 public:
73 EditSvgButton(SvgMain *client, SvgWin *window, int x, int y);
74 ~EditSvgButton();
75 int handle_event();
76 void run();
78 int quit_now;
79 int fh_fifo;
80 SvgMain *client;
81 SvgWin *window;
84 class NewSvgWindow : public BC_FileBox
86 public:
87 NewSvgWindow(SvgMain *client, SvgWin *window, char *init_directory);
88 ~NewSvgWindow();
89 SvgMain *client;
90 SvgWin *window;
93 class SvgInkscapeThread : public Thread
95 public:
96 SvgInkscapeThread(SvgMain *client, SvgWin *window);
97 ~SvgInkscapeThread();
98 void run();
99 SvgMain *client;
100 SvgWin *window;
101 int fh_fifo;
105 #endif