Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

theme.C

Go to the documentation of this file.
00001 #include "awindowgui.h"
00002 #include "clip.h"
00003 #include "colors.h"
00004 #include "cwindowgui.h"
00005 #include "edl.h"
00006 #include "edlsession.h"
00007 #include "language.h"
00008 #include "levelwindowgui.h"
00009 #include "loadmode.h"
00010 #include "localsession.h"
00011 #include "mainmenu.h"
00012 #include "mainsession.h"
00013 #include "mbuttons.h"
00014 #include "meterpanel.h"
00015 #include "mwindowgui.h"
00016 #include "mwindow.h"
00017 #include "overlayframe.h"
00018 #include "patchbay.h"
00019 #include "playtransport.h"
00020 #include "recordgui.h"
00021 #include "recordmonitor.h"
00022 #include "resourcepixmap.h"
00023 #include "statusbar.h"
00024 #include "theme.h"
00025 #include "timebar.h"
00026 #include "trackcanvas.h"
00027 #include "vframe.h"
00028 #include "vwindowgui.h"
00029 #include "zoombar.h"
00030 
00031 
00032 #include <errno.h>
00033 #include <string.h>
00034 
00035 
00036 
00037 
00038 
00039 Theme::Theme()
00040  : BC_Theme()
00041 {
00042         this->mwindow = 0;
00043         theme_title = DEFAULT_THEME;
00044         data_buffer = 0;
00045         contents_buffer = 0;
00046         last_image = 0;
00047         mtransport_margin = 0;
00048         toggle_margin = 0;
00049 
00050         BC_WindowBase::get_resources()->bg_color = BLOND;
00051         BC_WindowBase::get_resources()->button_up = 0xffc000;
00052         BC_WindowBase::get_resources()->button_highlighted = 0xffe000;
00053         BC_WindowBase::get_resources()->recursive_resizing = 0;
00054         audio_color = BLACK;
00055         fade_h = 22;
00056         meter_h = 17;
00057         mode_h = 30;
00058         pan_h = 32;
00059         pan_x = 50;
00060         play_h = 22;
00061         title_h = 22;
00062 
00063 
00064         loadmode_w = 350;
00065 
00066 #include "data/about_png.h"
00067         about_bg = new VFrame(about_png);
00068 
00069 
00070 
00071         
00072 
00073 
00074 }
00075 
00076 
00077 // Need to delete everything here
00078 Theme::~Theme()
00079 {
00080         flush_images(); 
00081 
00082         aspect_ratios.remove_all_objects();
00083         frame_rates.remove_all_objects();
00084         frame_sizes.remove_all_objects();
00085         sample_rates.remove_all_objects();
00086         zoom_values.remove_all_objects();
00087 }
00088 
00089 void Theme::flush_images()
00090 {
00091         if(data_buffer) delete [] data_buffer;
00092         if(contents_buffer) delete [] contents_buffer;
00093         data_buffer = 0;
00094         contents_buffer = 0;
00095         contents.remove_all();
00096 }
00097 
00098 void Theme::initialize()
00099 {
00100         message_normal = BLACK;
00101         message_error = RED;
00102 
00103 // Force to use local data for images
00104         extern unsigned char _binary_theme_data_start[];
00105         set_data(_binary_theme_data_start);
00106 
00107 // Set images which weren't set by subclass
00108         new_image("mode_add", "mode_add.png");
00109         new_image("mode_divide", "mode_divide.png");
00110         new_image("mode_multiply", "mode_multiply.png");
00111         new_image("mode_normal", "mode_normal.png");
00112         new_image("mode_replace", "mode_replace.png");
00113         new_image("mode_subtract", "mode_subtract.png");
00114 }
00115 
00116 
00117 
00118 
00119 void Theme::build_menus()
00120 {
00121 
00122 
00123         aspect_ratios.append(new BC_ListBoxItem("3:2"));
00124         aspect_ratios.append(new BC_ListBoxItem("4:3"));
00125         aspect_ratios.append(new BC_ListBoxItem("16:9"));
00126         aspect_ratios.append(new BC_ListBoxItem("2.10:1"));
00127         aspect_ratios.append(new BC_ListBoxItem("2.20:1"));
00128         aspect_ratios.append(new BC_ListBoxItem("2.25:1"));
00129         aspect_ratios.append(new BC_ListBoxItem("2.30:1"));
00130         aspect_ratios.append(new BC_ListBoxItem("2.35:1"));
00131         aspect_ratios.append(new BC_ListBoxItem("2.66:1"));
00132         frame_sizes.append(new BC_ListBoxItem("160x120"));
00133         frame_sizes.append(new BC_ListBoxItem("240x180"));
00134         frame_sizes.append(new BC_ListBoxItem("320x240"));
00135         frame_sizes.append(new BC_ListBoxItem("360x240"));
00136         frame_sizes.append(new BC_ListBoxItem("400x300"));
00137         frame_sizes.append(new BC_ListBoxItem("512x384"));
00138         frame_sizes.append(new BC_ListBoxItem("640x480"));
00139         frame_sizes.append(new BC_ListBoxItem("720x480"));
00140         frame_sizes.append(new BC_ListBoxItem("720x576"));
00141         frame_sizes.append(new BC_ListBoxItem("1280x720"));
00142         frame_sizes.append(new BC_ListBoxItem("960x1080"));
00143         frame_sizes.append(new BC_ListBoxItem("1920x1080"));
00144         frame_sizes.append(new BC_ListBoxItem("1920x1088"));
00145         sample_rates.append(new BC_ListBoxItem("8000"));
00146         sample_rates.append(new BC_ListBoxItem("16000"));
00147         sample_rates.append(new BC_ListBoxItem("22050"));
00148         sample_rates.append(new BC_ListBoxItem("32000"));
00149         sample_rates.append(new BC_ListBoxItem("44100"));
00150         sample_rates.append(new BC_ListBoxItem("48000"));
00151         sample_rates.append(new BC_ListBoxItem("96000"));
00152         sample_rates.append(new BC_ListBoxItem("192000"));
00153         frame_rates.append(new BC_ListBoxItem("1"));
00154         frame_rates.append(new BC_ListBoxItem("5"));
00155         frame_rates.append(new BC_ListBoxItem("10"));
00156         frame_rates.append(new BC_ListBoxItem("12"));
00157         frame_rates.append(new BC_ListBoxItem("15"));
00158         frame_rates.append(new BC_ListBoxItem("23.97"));
00159         frame_rates.append(new BC_ListBoxItem("24"));
00160         frame_rates.append(new BC_ListBoxItem("25"));
00161         frame_rates.append(new BC_ListBoxItem("29.97"));
00162         frame_rates.append(new BC_ListBoxItem("30"));
00163         frame_rates.append(new BC_ListBoxItem("50"));
00164         frame_rates.append(new BC_ListBoxItem("59.94"));
00165         frame_rates.append(new BC_ListBoxItem("60"));
00166         char string[BCTEXTLEN];
00167         for(int i = 1; i < 17; i++)
00168         {
00169                 sprintf(string, "%d", (int)pow(2, i));
00170                 zoom_values.append(new BC_ListBoxItem(string));
00171         }
00172 }
00173 
00174 
00175 void Theme::overlay(VFrame *dst, VFrame *src, int in_x1, int in_x2)
00176 {
00177         int w;
00178         int h;
00179         unsigned char **in_rows;
00180         unsigned char **out_rows;
00181 
00182         if(in_x1 < 0)
00183         {
00184                 w = MIN(src->get_w(), dst->get_w());
00185                 h = MIN(dst->get_h(), src->get_h());
00186                 in_x1 = 0;
00187                 in_x2 = w;
00188         }
00189         else
00190         {
00191                 w = in_x2 - in_x1;
00192                 h = MIN(dst->get_h(), src->get_h());
00193         }
00194         in_rows = src->get_rows();
00195         out_rows = dst->get_rows();
00196 
00197         switch(src->get_color_model())
00198         {
00199                 case BC_RGBA8888:
00200                         switch(dst->get_color_model())
00201                         {
00202                                 case BC_RGBA8888:
00203                                         for(int i = 0; i < h; i++)
00204                                         {
00205                                                 unsigned char *in_row = in_rows[i] + in_x1 * 4;
00206                                                 unsigned char *out_row = out_rows[i];
00207                                                 for(int j = 0; j < w; j++)
00208                                                 {
00209                                                         int opacity = in_row[3];
00210                                                         int transparency = 0xff - opacity;
00211                                                         out_row[0] = (in_row[0] * opacity + out_row[0] * transparency) / 0xff;
00212                                                         out_row[1] = (in_row[1] * opacity + out_row[1] * transparency) / 0xff;
00213                                                         out_row[2] = (in_row[2] * opacity + out_row[2] * transparency) / 0xff;
00214                                                         out_row[3] = MAX(in_row[3], out_row[3]);
00215                                                         out_row += 4;
00216                                                         in_row += 4;
00217                                                 }
00218                                         }
00219                                         break;
00220                                 case BC_RGB888:
00221                                         for(int i = 0; i < h; i++)
00222                                         {
00223                                                 unsigned char *in_row = in_rows[i] + in_x1 * 4;
00224                                                 unsigned char *out_row = out_rows[i];
00225                                                 for(int j = 0; j < w; j++)
00226                                                 {
00227                                                         int opacity = in_row[3];
00228                                                         int transparency = 0xff - opacity;
00229                                                         out_row[0] = (in_row[0] * opacity + out_row[0] * transparency) / 0xff;
00230                                                         out_row[1] = (in_row[1] * opacity + out_row[1] * transparency) / 0xff;
00231                                                         out_row[2] = (in_row[2] * opacity + out_row[2] * transparency) / 0xff;
00232                                                         out_row += 3;
00233                                                         in_row += 4;
00234                                                 }
00235                                         }
00236                                         break;
00237                         }
00238                         break;
00239         }
00240 }
00241 
00242 void Theme::build_transport(char *title,
00243         unsigned char *png_overlay,
00244         VFrame **bg_data,
00245         int third)
00246 {
00247         if(!png_overlay) return;
00248         VFrame default_data(png_overlay);
00249         VFrame *data[3];
00250         data[0] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00251         data[1] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00252         data[2] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00253         data[0]->clear_frame();
00254         data[1]->clear_frame();
00255         data[2]->clear_frame();
00256 
00257         for(int i = 0; i < 3; i++)
00258         {
00259                 int in_x1;
00260                 int in_x2;
00261                 if(!bg_data[i]) break;
00262 
00263                 switch(third)
00264                 {
00265                         case 0:
00266                                 in_x1 = 0;
00267                                 in_x2 = default_data.get_w();
00268                                 break;
00269 
00270                         case 1:
00271                                 in_x1 = (int)(bg_data[i]->get_w() * 0.33);
00272                                 in_x2 = in_x1 + default_data.get_w();
00273                                 break;
00274 
00275                         case 2:
00276                                 in_x1 = bg_data[i]->get_w() - default_data.get_w();
00277                                 in_x2 = in_x1 + default_data.get_w();
00278                                 break;
00279                 }
00280 
00281                 overlay(data[i], 
00282                         bg_data[i],
00283                         in_x1,
00284                         in_x2);
00285                 overlay(data[i], 
00286                         &default_data);
00287         }
00288 
00289         new_image_set_images(title, 3, data[0], data[1], data[2]);
00290 }
00291 
00292 
00293 
00294 
00295 
00296 
00297 
00298 
00299 
00300 void Theme::build_patches(VFrame** &data,
00301         unsigned char *png_overlay,
00302         VFrame **bg_data,
00303         int region)
00304 {
00305         if(!png_overlay || !bg_data) return;
00306         VFrame default_data(png_overlay);
00307         data = new VFrame*[5];
00308         data[0] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00309         data[1] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00310         data[2] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00311         data[3] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00312         data[4] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00313 
00314         for(int i = 0; i < 5; i++)
00315         {
00316                 int in_x1;
00317                 int in_x2;
00318 
00319                 switch(region)
00320                 {
00321                         case 0:
00322                                 in_x1 = 0;
00323                                 in_x2 = default_data.get_w();
00324                                 break;
00325 
00326                         case 1:
00327                                 in_x1 = (int)(bg_data[i]->get_w() * 0.33);
00328                                 in_x2 = in_x1 + default_data.get_w();
00329                                 break;
00330 
00331                         case 2:
00332                                 in_x1 = bg_data[i]->get_w() - default_data.get_w();
00333                                 in_x2 = in_x1 + default_data.get_w();
00334                                 break;
00335                 }
00336 
00337                 overlay(data[i], 
00338                         bg_data[i]);
00339                 overlay(data[i], 
00340                         &default_data);
00341         }
00342 }
00343 
00344 
00345 
00346 
00347 
00348 
00349 
00350 
00351 void Theme::build_button(VFrame** &data,
00352         unsigned char *png_overlay,
00353         VFrame *up_vframe,
00354         VFrame *hi_vframe,
00355         VFrame *dn_vframe)
00356 {
00357         if(!png_overlay) return;
00358         VFrame default_data(png_overlay);
00359 
00360         if(!up_vframe || !hi_vframe || !dn_vframe) return;
00361         data = new VFrame*[3];
00362         data[0] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00363         data[1] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00364         data[2] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00365         data[0]->copy_from(up_vframe);
00366         data[1]->copy_from(hi_vframe);
00367         data[2]->copy_from(dn_vframe);
00368         for(int i = 0; i < 3; i++)
00369                 overlay(data[i], 
00370                         &default_data);
00371 }
00372 
00373 void Theme::build_toggle(VFrame** &data,
00374         unsigned char *png_overlay,
00375         VFrame *up_vframe,
00376         VFrame *hi_vframe,
00377         VFrame *checked_vframe,
00378         VFrame *dn_vframe,
00379         VFrame *checkedhi_vframe)
00380 {
00381         if(!png_overlay || 
00382                 !up_vframe || 
00383                 !hi_vframe || 
00384                 !checked_vframe || 
00385                 !dn_vframe || 
00386                 !checkedhi_vframe) return;
00387         VFrame default_data(png_overlay);
00388         data = new VFrame*[5];
00389         data[0] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00390         data[1] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00391         data[2] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00392         data[3] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00393         data[4] = new VFrame(0, default_data.get_w(), default_data.get_h(), BC_RGBA8888);
00394         data[0]->copy_from(up_vframe);
00395         data[1]->copy_from(hi_vframe);
00396         data[2]->copy_from(checked_vframe);
00397         data[3]->copy_from(dn_vframe);
00398         data[4]->copy_from(checkedhi_vframe);
00399         for(int i = 0; i < 5; i++)
00400                 overlay(data[i], 
00401                         &default_data);
00402 }
00403 
00404 #define TIMEBAR_HEIGHT 10
00405 #define PATCHBAY_W 145
00406 #define STATUS_H 20
00407 #define ZOOM_H 30
00408 
00409 void Theme::get_mwindow_sizes(MWindowGUI *gui, int w, int h)
00410 {
00411 }
00412 
00413 void Theme::draw_mwindow_bg(MWindowGUI *gui)
00414 {
00415 }
00416 
00417 
00418 
00419 
00420 void Theme::draw_awindow_bg(AWindowGUI *gui)
00421 {
00422         gui->clear_box(0, 0, mwindow->session->awindow_w, mwindow->session->awindow_h);
00423         gui->flash();
00424 }
00425 
00426 void Theme::draw_vwindow_bg(VWindowGUI *gui)
00427 {
00428 //      gui->clear_box(0, 
00429 //              0, 
00430 //              mwindow->session->vwindow_w, 
00431 //              mwindow->session->vwindow_h);
00432 // // Timebar
00433 //      gui->draw_3segmenth(vtimebar_x, 
00434 //              vtimebar_y, 
00435 //              vtimebar_w, 
00436 //              vtimebar_bg_data,
00437 //              0);
00438 //      gui->flash();
00439 }
00440 
00441 
00442 void Theme::draw_cwindow_bg(CWindowGUI *gui)
00443 {
00444         gui->clear_box(0, 0, mwindow->session->cwindow_w, mwindow->session->cwindow_h);
00445         gui->flash();
00446 }
00447 
00448 void Theme::draw_lwindow_bg(LevelWindowGUI *gui)
00449 {
00450         gui->clear_box(0, 0, mwindow->session->lwindow_w, mwindow->session->lwindow_h);
00451         gui->flash();
00452 }
00453 
00454 
00455 void Theme::draw_rmonitor_bg(RecordMonitorGUI *gui)
00456 {
00457         gui->clear_box(0, 0, mwindow->session->rmonitor_w, mwindow->session->rmonitor_h);
00458         gui->flash();
00459 }
00460 
00461 
00462 void Theme::draw_rwindow_bg(RecordGUI *gui)
00463 {
00464         gui->clear_box(0, 0, mwindow->session->rwindow_w, mwindow->session->rwindow_h);
00465 }
00466 
00467 
00468 void Theme::draw_resource_bg(TrackCanvas *canvas,
00469         ResourcePixmap *pixmap, 
00470         int edit_x,
00471         int edit_w,
00472         int pixmap_x,
00473         int x1, 
00474         int y1, 
00475         int x2,
00476         int y2)
00477 {
00478         VFrame *image;
00479 
00480         switch(mwindow->edl->local_session->zoom_track)
00481         {
00482                 case 1024: image = get_image("resource1024");  break;
00483                 case 512: image = get_image("resource512");  break;
00484                 case 256: image = get_image("resource256");  break;
00485                 case 128: image = get_image("resource128");  break;
00486                 case 64:  image = get_image("resource64");   break;
00487                 default:
00488                 case 32:  image = get_image("resource32");   break;
00489         }
00490 
00491         canvas->draw_3segmenth(x1, 
00492                 y1, 
00493                 x2 - x1, 
00494                 edit_x - pixmap_x,
00495                 edit_w,
00496                 image,
00497                 pixmap);
00498 }
00499 
00500 void Theme::get_vwindow_sizes(VWindowGUI *gui)
00501 {
00502 }
00503 
00504 void Theme::get_cwindow_sizes(CWindowGUI *gui, int cwindow_controls)
00505 {
00506 }
00507 
00508 void Theme::get_awindow_sizes(AWindowGUI *gui)
00509 {
00510         abuttons_x = 0; 
00511         abuttons_y = 0;
00512         afolders_x = 0;
00513 //      afolders_y = deletedisk_data[0]->get_h();
00514         afolders_y = 0;
00515         afolders_w = mwindow->session->afolders_w;
00516         afolders_h = mwindow->session->awindow_h - afolders_y;
00517         adivider_x = afolders_x + afolders_w;
00518         adivider_y = 0;
00519         adivider_w = 5;
00520         adivider_h = afolders_h;
00521         alist_x = afolders_x + afolders_w + 5;
00522         alist_y = afolders_y;
00523         alist_w = mwindow->session->awindow_w - alist_x;
00524         alist_h = afolders_h;
00525 }
00526 
00527 void Theme::get_rmonitor_sizes(int do_audio, 
00528         int do_video,
00529         int do_channel,
00530         int do_interlace,
00531         int do_avc,
00532         int audio_channels)
00533 {
00534         int x = 10;
00535         int y = 3;
00536 
00537 
00538         if(do_avc)
00539         {
00540                 rmonitor_canvas_y = 30;
00541                 rmonitor_tx_x = 10;
00542                 rmonitor_tx_y = 0;
00543         }
00544         else
00545         {
00546                 rmonitor_canvas_y = 0;
00547                 rmonitor_tx_x = 0;
00548                 rmonitor_tx_y = 0;
00549         }
00550 
00551 
00552         if(do_channel)
00553         {
00554                 y = 5;
00555                 rmonitor_channel_x = x;
00556                 rmonitor_channel_y = 5;
00557                 x += 235;
00558                 rmonitor_canvas_y = 35;
00559         }
00560 
00561         if(do_interlace)
00562         {
00563                 y = 4;
00564                 rmonitor_interlace_x = x;
00565                 rmonitor_interlace_y = y;
00566         }
00567 
00568 
00569         if(do_audio)
00570         {
00571                 rmonitor_meter_x = mwindow->session->rmonitor_w - MeterPanel::get_meters_width(audio_channels, 1);
00572                 rmonitor_meter_y = 40;
00573                 rmonitor_meter_h = mwindow->session->rmonitor_h - 10 - rmonitor_meter_y;
00574         }
00575         else
00576         {
00577                 rmonitor_meter_x = mwindow->session->rmonitor_w;
00578         }
00579 
00580         rmonitor_canvas_x = 0;
00581         rmonitor_canvas_w = rmonitor_meter_x - rmonitor_canvas_x;
00582         if(do_audio) rmonitor_canvas_w -= 10;
00583         rmonitor_canvas_h = mwindow->session->rmonitor_h - rmonitor_canvas_y;
00584 }
00585 
00586 void Theme::get_recordgui_sizes(RecordGUI *gui, int w, int h)
00587 {
00588 }
00589 
00590 void Theme::get_batchrender_sizes(BatchRenderGUI *gui,
00591         int w, 
00592         int h)
00593 {
00594         batchrender_x1 = 5;
00595         batchrender_x2 = 300;
00596         batchrender_x3 = 400;
00597 }
00598 
00599 void Theme::get_plugindialog_sizes()
00600 {
00601         int x = 10, y = 30;
00602         plugindialog_new_x = x;
00603         plugindialog_new_y = y;
00604         plugindialog_shared_x = mwindow->session->plugindialog_w / 3;
00605         plugindialog_shared_y = y;
00606         plugindialog_module_x = mwindow->session->plugindialog_w * 2 / 3;
00607         plugindialog_module_y = y;
00608 
00609         plugindialog_new_w = plugindialog_shared_x - plugindialog_new_x - 10;
00610         plugindialog_new_h = mwindow->session->plugindialog_h - 110;
00611         plugindialog_shared_w = plugindialog_module_x - plugindialog_shared_x - 10;
00612         plugindialog_shared_h = mwindow->session->plugindialog_h - 110;
00613         plugindialog_module_w = mwindow->session->plugindialog_w - plugindialog_module_x - 10;
00614         plugindialog_module_h = mwindow->session->plugindialog_h - 110;
00615 
00616         plugindialog_newattach_x = plugindialog_new_x + 20;
00617         plugindialog_newattach_y = plugindialog_new_y + plugindialog_new_h + 10;
00618         plugindialog_sharedattach_x = plugindialog_shared_x + 20;
00619         plugindialog_sharedattach_y = plugindialog_shared_y + plugindialog_shared_h + 10;
00620         plugindialog_moduleattach_x = plugindialog_module_x + 20;
00621         plugindialog_moduleattach_y = plugindialog_module_y + plugindialog_module_h + 10;
00622 }
00623 
00624 void Theme::get_menueffect_sizes(int use_list)
00625 {
00626         if(use_list)
00627         {
00628                 menueffect_list_x = 10;
00629                 menueffect_list_y = 10;
00630                 menueffect_list_w = mwindow->session->menueffect_w - 400;
00631                 menueffect_list_h = mwindow->session->menueffect_h - 
00632                         menueffect_list_y -
00633                         BC_OKButton::calculate_h() - 10;
00634         }
00635         else
00636         {
00637                 menueffect_list_x = 0;
00638                 menueffect_list_y = 10;
00639                 menueffect_list_w = 0;
00640                 menueffect_list_h = 0;
00641         }
00642 
00643         menueffect_file_x = menueffect_list_x + menueffect_list_w + 10;
00644         menueffect_file_y = 10;
00645 
00646         menueffect_tools_x = menueffect_file_x;
00647         menueffect_tools_y = menueffect_file_y + 20;
00648 }
00649 
00650 void Theme::get_preferences_sizes()
00651 {
00652 }
00653 
00654 void Theme::draw_preferences_bg(PreferencesWindow *gui)
00655 {
00656 }
00657 
00658 void Theme::get_new_sizes(NewWindow *gui)
00659 {
00660 }
00661 
00662 void Theme::draw_new_bg(NewWindow *gui)
00663 {
00664 }
00665 
00666 void Theme::draw_setformat_bg(SetFormatWindow *window)
00667 {
00668 }
00669 
00670 
00671 
00672 
00673 
00674 
00675 

Generated on Sun Jan 8 13:39:00 2006 for Cinelerra-svn by  doxygen 1.4.4