diff --git a/automation/v4-docs/basic-function-interface.txt b/automation/v4-docs/basic-function-interface.txt index dfbd6b632..56bf9ad9b 100644 --- a/automation/v4-docs/basic-function-interface.txt +++ b/automation/v4-docs/basic-function-interface.txt @@ -101,6 +101,7 @@ a new File Format Reader Feature. function aegisub.register_reader( name, extension, + is_text_format, processing_function) @name (string) @@ -111,6 +112,13 @@ function aegisub.register_reader( include any wildcards. (Ie. extension could be "srt", "sub", "ssa" and so on.) +@is_text_format (boolean) + Determines whether the user can select a default encoding for reading text + from the file. This only affects whether a default encoding is chosen or not, + even with this argument set to false, you can still read text. You should set + this to true, if the format allows storing in different encodings, and doesn't + explicitly store the used encoding anywhere. + @processing_function (function) The function called to do the actual file import. This function must be an instance of the Format Reader Function described @@ -128,6 +136,7 @@ a new File Format Writer Feature. function aegisub.register_writer( name, extension, + is_text_format, processing_function) @name (string) @@ -138,6 +147,13 @@ function aegisub.register_writer( be attached to the file name on export, unless the user chooses to override it. +@is_text_format (boolean) + Determines whether the user can select a target encoding or not. This + option should be true if the format written allows choosing between + different encodings, and the user should be able to select which one to + use. This option doesn't affect whether you can write text to the file or + not, but only whether the user can select an encoding or not. + @processing_function (function) The function doing the actual file export. This function must be an instance of the Format Writer Function described diff --git a/automation/v4-docs/configuration-dialogs.txt b/automation/v4-docs/configuration-dialogs.txt new file mode 100644 index 000000000..4cd7e9b10 --- /dev/null +++ b/automation/v4-docs/configuration-dialogs.txt @@ -0,0 +1,180 @@ +Automation 4 Configuration Dialog interface + +This file describes the functions and data structures used for the +Configuration Dialog functionality in Automation 4. + +--- + +Dialog Control table format + +A Dialog Control table describes a single control in a configuration dialog, +which can display information to the user and allow them to change it. + +There are a number of different classes of controls, and the keys a Dialog +Control table must contain depends on the control class. + + +Common keys for all control classes: + +class (string) + Defines which class this control has. Must be one of: + "label", + "edit", "intedit", "floatedit", "textbox", + "dropdown", + "checkbox", + "color", "coloralpha", "alpha" + +name (string) + A name that uniquely identifies the control. This is recommended to be a + string easily used as an identifier in Lua, since it will be used to access + the value input into the control. + +x (number) +y (number) +width (number) +height (number) + Determines the position and size of the control in the dialog. These values + are used to create a grid containing the controls. They should all be + integer. The top left corner is x,y=0,0. + If any of width and height are set to zero or less, it will be set to one + instead. + + +Key defined for all classes except "label": + +hint (string) + A string displayed to the + + +Keys defined only for "label" and "checkbox" classes: + +label (string) + The text displayed to the user on the control. + + +Key defined only for the "edit" and "textbox" classes: + +text (string) + The contents of the control when the dialog is first displayed. + This can contain newlines if the control is of the "textbox" class. + + +Keys defined only for the "intedit" and "floatedit" classes: + +value (number) + The value in the control when the dialog is first displayed. For the + "intedit" class, if this is a non-integer point number it is truncated + before being used. + +min (number or nil) +max (number or nil) +step (number or nil) + If one of these are nil, the other must also be nil. (Ie. undefined.) + If all are present, the control gets a spin button, the user can click to + update the value of the control. The value is changed by "step" amount + every time, up to "max" or down to "min". The user won't be able to close + the dialog if the value is outside the range between "min" and "max" either. + + +Keys defined only for the "dropdown" class: + +items (table) + This is an Array Table containing only strings. They are used for the + options displayed to the user in the dropdown box. + All strings in the array table should be unique. (There is not way to + distinguish non-unique strings from each other.) + +value (string) + Determines which item is selected when the dialog id first displayed. If + this is not one of the items specified, no item is selected. This is case- + sensitive. + + +Key defined only for the "checkbox" class: + +value (boolean) + Determines whether the checkbox is checked or not when the dialog is first + displayed. + + +Keys defined only for the "color", "coloralpha" and "alpha" classes: + +value (string) + A color value in VB or HTML hexadecimal format. + For the "color" class, this should be a 3 byte value, ie. "#RRGGBB". + For the "coloralpha" class, this should be a 4 byte value, ie. "#RRGGBBAA". + For the "alpha" class, this should be a one-byte value, ie. "#AA". + +--- + +Dialog Definition table format + +The Dialog Definition table is simply an Array Table of Dialog Control tables. +Note, however, that while the visual ordering of the controls are decided +entirely by the "x", "y", "width" and "height" of the controls, the +"tab order" of the controls are decided by their ordering in the Dialog +Definition table. + +--- + +Dialog Result table format + +A Dialog Result table contains the user input from a configuration dialog. + +The control "name" properties are used as keys in this table. + +The type of the value for each entry in the table depends on the class of the +control. The control classes map to types in the following manner: + +"label" + None. Since the user cannot change a label, they do not produce any value. + +"edit", "textbox" + String. The text input in the box. This can contain newlines in the case of + a "textbox" class control. + +"intedit", "floatedit" + Number. The number input into the control, guaranteed to be within the + constraints set by the class (integer or float) and the min/max properties. + +"dropdown" + String. The case-exact text of the selected item. + +"checkbox", + Boolean. The checked-state of the checkbox. + +"color", "coloralpha", "alpha" + String. A VB colorstring following the same scheme as for setting the + "value" property. + +--- + +Display Configuration Dialog function + +This function displays a configuration dialog to the user and waits for it to +close. It then returns whether the user accepted or cancelled the dialog, and +what values were input. + +function aegisub.dialog.display(dialog, buttons) + +@dialog (table) + A Dialog Definition table containing the controls to be in the dialog. + +@buttons (table) + Optional. This is an Array Table of strings defining the buttons that appear + in the dialog. If this is left out or is otherwise not a table, the standard + Ok and Cancel buttons appear. + The strings in this Array Table are used as labels on the buttons, and for + identifying them in the return values of the function. + +Returns: Two values. + 1. Boolean or string. + If no custom buttons were specified, this is a boolean telling whether Ok + (true) or Cancel (false) were clicked in the dialog. + If custom buttons were specified, this is the text on the button clicked + by the user. + 2. Table. + The Dialog Result table corresponding to the values the user input in the + dialog. + +--- diff --git a/core/dialog_colorpicker.cpp b/core/dialog_colorpicker.cpp index e16c54bde..1445aa260 100644 --- a/core/dialog_colorpicker.cpp +++ b/core/dialog_colorpicker.cpp @@ -403,7 +403,7 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color) sliderimg.SetData(oslid); rgb_slider[2] = new wxBitmap(sliderimg); - // Y/luminance + // luminance oslid = slid = (unsigned char *)malloc(slider_width*256*3); for (int y = 0; y < 256; y++) { int x = 0; @@ -412,21 +412,13 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color) *slid++ = clip_colorval(y); *slid++ = clip_colorval(y); } - /*for (x*=3; x < slider_width*3; x++) { - *slid++ = 0; - }*/ } sliderimg.SetData(oslid); - hsl_slider = /*yuv_slider =*/ new wxBitmap(sliderimg); + hsl_slider = new wxBitmap(sliderimg); oslid = slid = (unsigned char *)malloc(slider_width*256*3); for (int y = 0; y < 256; y++) { for (int x = 0; x < slider_width; x++) { - /*int r, g, b; - hsv_to_rgb(y, 128, 255, &r, &g, &b); - *slid++ = r; - *slid++ = g; - *slid++ = b;*/ hsv_to_rgb(y, 255, 255, slid, slid+1, slid+2); slid += 3; } @@ -442,7 +434,7 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color) slider = new ColorPickerSpectrum(this, SELECTOR_SLIDER, 0, -1, -1, ColorPickerSpectrum::Vert); slider->SetClientSize(wxSize(slider_width, 256)); slider->SetMinSize(slider->GetSize()); - wxString modes[] = { _("RGB/R"), _("RGB/G"), _("RGB/B"), /*_("YUV/Y"),*/ _("HSL/L"), _("HSV/H") }; + wxString modes[] = { _("RGB/R"), _("RGB/G"), _("RGB/B"), _("HSL/L"), _("HSV/H") }; colorspace_choice = new wxChoice(this, SELECTOR_MODE, wxDefaultPosition, wxDefaultSize, 5, modes); wxSize colorinput_size(70, -1); @@ -453,11 +445,6 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color) rgb_input[1] = new wxSpinCtrl(this, SELECTOR_RGB_G, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255); rgb_input[2] = new wxSpinCtrl(this, SELECTOR_RGB_B, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255); - //wxSizer *yuv_box = new wxStaticBoxSizer(wxVERTICAL, this, _("YUV color")); - //yuv_input[0] = new wxSpinCtrl(this, SELECTOR_YUV_Y, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255); - //yuv_input[1] = new wxSpinCtrl(this, SELECTOR_YUV_U, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255); - //yuv_input[2] = new wxSpinCtrl(this, SELECTOR_YUV_V, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255); - wxSizer *hsl_box = new wxStaticBoxSizer(wxVERTICAL, this, _("HSL color")); hsl_input[0] = new wxSpinCtrl(this, SELECTOR_HSL_H, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255); hsl_input[1] = new wxSpinCtrl(this, SELECTOR_HSL_S, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255); @@ -473,8 +460,6 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color) preview_bitmap = wxBitmap(40, 40, 24); preview_box = new wxStaticBitmap(this, -1, preview_bitmap, wxDefaultPosition, wxSize(40, 40), wxSTATIC_BORDER); - //preview_box = new wxControl(this, -1, wxDefaultPosition, wxSize(40, 40), wxSTATIC_BORDER); - //preview_box->Connect(wxEVT_PAINT, (wxObjectEventFunction)DialogColorPicker::OnPreviewBoxPaint); recent_box = new ColorPickerRecent(this, SELECTOR_RECENT, wxDefaultSize, 12, 2); recent_box->SetClientSize(12*16, 2*16); @@ -508,15 +493,6 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color) rgb_sizer->Add(rgb_input[2], 0); rgb_box->Add(rgb_sizer, 0, wxALL, 3); - /*wxSizer *yuv_sizer = new wxFlexGridSizer(3, 2, 5, 5); - yuv_sizer->Add(new wxStaticText(this, -1, _("Y:"), wxDefaultPosition, colorinput_labelsize), 0, wxALIGN_CENTER_VERTICAL); - yuv_sizer->Add(yuv_input[0], 0); - yuv_sizer->Add(new wxStaticText(this, -1, _("U:"), wxDefaultPosition, colorinput_labelsize), 0, wxALIGN_CENTER_VERTICAL); - yuv_sizer->Add(yuv_input[1], 0); - yuv_sizer->Add(new wxStaticText(this, -1, _("V:"), wxDefaultPosition, colorinput_labelsize), 0, wxALIGN_CENTER_VERTICAL); - yuv_sizer->Add(yuv_input[2], 0); - yuv_box->Add(yuv_sizer, 0, wxALL, 3);*/ - wxSizer *hsl_sizer = new wxFlexGridSizer(3, 2, 5, 5); hsl_sizer->Add(new wxStaticText(this, -1, _("Hue:"), wxDefaultPosition, colorinput_labelsize), 0, wxALIGN_CENTER_VERTICAL); hsl_sizer->Add(hsl_input[0], 0); @@ -548,7 +524,6 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color) wxGridBagSizer *input_sizer = new wxGridBagSizer(5, 5); input_sizer->Add(rgb_box, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALIGN_CENTER); - //input_sizer->Add(yuv_box, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALIGN_CENTER); input_sizer->Add(hsl_box, wxGBPosition(0, 2), wxGBSpan(1, 2), wxALIGN_CENTER); input_sizer->Add(hsv_box, wxGBPosition(1, 2), wxGBSpan(1, 2), wxALIGN_CENTER); input_sizer->Add(ass_input_sizer, wxGBPosition(2, 0), wxGBSpan(1, 4), wxALIGN_CENTER); @@ -580,7 +555,6 @@ DialogColorPicker::~DialogColorPicker() delete rgb_spectrum[0]; delete rgb_spectrum[1]; delete rgb_spectrum[2]; - //delete yuv_spectrum; delete hsl_spectrum; delete hsv_spectrum; delete rgb_slider[0]; @@ -619,16 +593,11 @@ void DialogColorPicker::UpdateFromRGB() updating_controls = true; unsigned char r, g, b, y, u, v, h, s, l, h2, s2, v2; - //int h2, s2, v2; r = rgb_input[0]->GetValue(); g = rgb_input[1]->GetValue(); b = rgb_input[2]->GetValue(); - //rgb_to_yuv(r, g, b, &y, &u, &v); rgb_to_hsl(r, g, b, &h, &s, &l); rgb_to_hsv(r, g, b, &h2, &s2, &v2); - //yuv_input[0]->SetValue(y); - //yuv_input[1]->SetValue(u); - //yuv_input[2]->SetValue(v); hsl_input[0]->SetValue(h); hsl_input[1]->SetValue(s); hsl_input[2]->SetValue(l); @@ -644,38 +613,6 @@ void DialogColorPicker::UpdateFromRGB() } -// Use the values entered in the YUV controls to update the other controls -/*void DialogColorPicker::UpdateFromYUV() -{ - if (updating_controls) return; - updating_controls = true; - - unsigned char r, g, b, y, u, v, h, s, l, h2, s2, v2; - //int h2, s2, v2; - y = yuv_input[0]->GetValue(); - u = yuv_input[1]->GetValue(); - v = yuv_input[2]->GetValue(); - yuv_to_rgb(y, u, v, &r, &g, &b); - rgb_to_hsl(r, g, b, &h, &s, &l); - rgb_to_hsv(r, g, b, &h2, &s2, &v2); - rgb_input[0]->SetValue(r); - rgb_input[1]->SetValue(g); - rgb_input[2]->SetValue(b); - hsl_input[0]->SetValue(h); - hsl_input[1]->SetValue(s); - hsl_input[2]->SetValue(l); - hsv_input[0]->SetValue(h2); - hsv_input[1]->SetValue(s2); - hsv_input[2]->SetValue(v2); - cur_color = wxColor(r, g, b); - ass_input->SetValue(AssColor(cur_color).GetASSFormatted(false, false, false)); - html_input->SetValue(color_to_html(cur_color)); - UpdateSpectrumDisplay(); - - updating_controls = false; -}*/ - - // Use the values entered in the HSL controls to update the other controls void DialogColorPicker::UpdateFromHSL() { @@ -683,19 +620,14 @@ void DialogColorPicker::UpdateFromHSL() updating_controls = true; unsigned char r, g, b, y, u, v, h, s, l, h2, s2, v2; - //int h2, s2, v2; h = hsl_input[0]->GetValue(); s = hsl_input[1]->GetValue(); l = hsl_input[2]->GetValue(); hsl_to_rgb(h, s, l, &r, &g, &b); - //rgb_to_yuv(r, g, b, &y, &u, &v); hsl_to_hsv(h, s, l, &h2, &s2, &v2); rgb_input[0]->SetValue(r); rgb_input[1]->SetValue(g); rgb_input[2]->SetValue(b); - //yuv_input[0]->SetValue(y); - //yuv_input[1]->SetValue(u); - //yuv_input[2]->SetValue(v); hsv_input[0]->SetValue(h2); hsv_input[1]->SetValue(s2); hsv_input[2]->SetValue(v2); @@ -719,14 +651,10 @@ void DialogColorPicker::UpdateFromHSV() s2 = hsv_input[1]->GetValue(); v2 = hsv_input[2]->GetValue(); hsv_to_rgb(h2, s2, v2, &r, &g, &b); - //rgb_to_yuv(r, g, b, &y, &u, &v); hsv_to_hsl(h2, s2, v2, &h, &s, &l); rgb_input[0]->SetValue(r); rgb_input[1]->SetValue(g); rgb_input[2]->SetValue(b); - //yuv_input[0]->SetValue(y); - //yuv_input[1]->SetValue(u); - //yuv_input[2]->SetValue(v); hsl_input[0]->SetValue(h); hsl_input[1]->SetValue(s); hsl_input[2]->SetValue(l); @@ -746,21 +674,16 @@ void DialogColorPicker::UpdateFromASS() updating_controls = true; unsigned char r, g, b, y, u, v, h, s, l, h2, s2, v2; - //int h2, s2, v2; AssColor ass; ass.ParseASS(ass_input->GetValue()); r = ass.r; g = ass.g; b = ass.b; - //rgb_to_yuv(r, g, b, &y, &u, &v); rgb_to_hsl(r, g, b, &h, &s, &l); rgb_to_hsv(r, g, b, &h2, &s2, &v2); rgb_input[0]->SetValue(r); rgb_input[1]->SetValue(g); rgb_input[2]->SetValue(b); - //yuv_input[0]->SetValue(y); - //yuv_input[1]->SetValue(u); - //yuv_input[2]->SetValue(v); hsl_input[0]->SetValue(h); hsl_input[1]->SetValue(s); hsl_input[2]->SetValue(l); @@ -781,20 +704,15 @@ void DialogColorPicker::UpdateFromHTML() updating_controls = true; unsigned char r, g, b, y, u, v, h, s, l, h2, s2, v2; - //int h2, s2, v2; cur_color = html_to_color(html_input->GetValue()); r = cur_color.Red(); g = cur_color.Green(); b = cur_color.Blue(); - //rgb_to_yuv(r, g, b, &y, &u, &v); rgb_to_hsl(r, g, b, &h, &s, &l); rgb_to_hsv(r, g, b, &h2, &s2, &v2); rgb_input[0]->SetValue(r); rgb_input[1]->SetValue(g); rgb_input[2]->SetValue(b); - //yuv_input[0]->SetValue(y); - //yuv_input[1]->SetValue(u); - //yuv_input[2]->SetValue(v); hsl_input[0]->SetValue(h); hsl_input[1]->SetValue(s); hsl_input[2]->SetValue(l); @@ -834,13 +752,6 @@ void DialogColorPicker::UpdateSpectrumDisplay() slider->SetXY(0, rgb_input[2]->GetValue()); spectrum->SetXY(rgb_input[1]->GetValue(), rgb_input[0]->GetValue()); break; - /*case 3: - if (spectrum_dirty) - spectrum->SetBackground(MakeUVSpectrum()); - slider->SetBackground(yuv_slider); - slider->SetXY(0, yuv_input[0]->GetValue()); - spectrum->SetXY(yuv_input[2]->GetValue(), yuv_input[1]->GetValue()); - break;*/ case 3: if (spectrum_dirty) spectrum->SetBackground(MakeHSSpectrum()); @@ -935,37 +846,6 @@ wxBitmap *DialogColorPicker::MakeRGSpectrum() } -/*wxBitmap *DialogColorPicker::MakeUVSpectrum() -{ - if (yuv_spectrum) delete yuv_spectrum; - - wxImage spectrum_image(256, 256, false); - unsigned char *ospec, *spec; - - ospec = spec = (unsigned char *)malloc(256*256*3); - int y = yuv_input[0]->GetValue(); - for (int u = -128; u < 128; u++) { - int r, g, b, v = -128; - r = (y<<20) + int(1.140*(1<<20)) * v; - g = (y<<20) - int(0.395*(1<<20)) * u - int(0.581*(1<<20)) * v; - b = (y<<20) + int(2.032*(1<<20)) * u; - for (; v < 128; v++) { - //yuv_to_rgb(yuv_input[0]->GetValue(), u, v, spec, spec+1, spec+2); - //spec += 3; - *spec++ = clip_colorval(r >> 20); - *spec++ = clip_colorval(g >> 20); - *spec++ = clip_colorval(b >> 20); - r += int(1.140*(1<<20)); - g -= int(0.581*(1<<20)); - } - } - spectrum_image.SetData(ospec); - yuv_spectrum = new wxBitmap(spectrum_image); - - return yuv_spectrum; -}*/ - - wxBitmap *DialogColorPicker::MakeHSSpectrum() { if (hsl_spectrum) delete hsl_spectrum; @@ -981,8 +861,6 @@ wxBitmap *DialogColorPicker::MakeHSSpectrum() hsl_to_rgb(h, 255, l, &maxr, &maxg, &maxb); for (int s = 0; s < 256; s++) { - //hsl_to_rgb(h, s, l, spec, spec+1, spec+2); - //spec += 3; *spec++ = maxr * s / 256 + (255-s) * l / 256; *spec++ = maxg * s / 256 + (255-s) * l / 256; *spec++ = maxb * s / 256 + (255-s) * l / 256; @@ -1014,8 +892,6 @@ wxBitmap *DialogColorPicker::MakeSVSpectrum() rg = (255-maxg) * v / 256; rb = (255-maxb) * v / 256; for (int s = 0; s < 256; s++) { - //hsv_to_rgb(h, s, v, spec, spec+1, spec+2); - //spec += 3; int r, g, b; r = 255 - rr * s / 256 - (255-v); g = 255 - rg * s / 256 - (255-v); @@ -1037,9 +913,6 @@ BEGIN_EVENT_TABLE(DialogColorPicker, wxDialog) EVT_SPINCTRL(SELECTOR_RGB_R, DialogColorPicker::OnSpinRGB) EVT_SPINCTRL(SELECTOR_RGB_G, DialogColorPicker::OnSpinRGB) EVT_SPINCTRL(SELECTOR_RGB_B, DialogColorPicker::OnSpinRGB) - //EVT_SPINCTRL(SELECTOR_YUV_Y, DialogColorPicker::OnSpinYUV) - //EVT_SPINCTRL(SELECTOR_YUV_U, DialogColorPicker::OnSpinYUV) - //EVT_SPINCTRL(SELECTOR_YUV_V, DialogColorPicker::OnSpinYUV) EVT_SPINCTRL(SELECTOR_HSL_H, DialogColorPicker::OnSpinHSL) EVT_SPINCTRL(SELECTOR_HSL_S, DialogColorPicker::OnSpinHSL) EVT_SPINCTRL(SELECTOR_HSL_L, DialogColorPicker::OnSpinHSL) @@ -1049,9 +922,6 @@ BEGIN_EVENT_TABLE(DialogColorPicker, wxDialog) EVT_TEXT(SELECTOR_RGB_R, DialogColorPicker::OnChangeRGB) EVT_TEXT(SELECTOR_RGB_G, DialogColorPicker::OnChangeRGB) EVT_TEXT(SELECTOR_RGB_B, DialogColorPicker::OnChangeRGB) - //EVT_TEXT(SELECTOR_YUV_Y, DialogColorPicker::OnChangeYUV) - //EVT_TEXT(SELECTOR_YUV_U, DialogColorPicker::OnChangeYUV) - //EVT_TEXT(SELECTOR_YUV_V, DialogColorPicker::OnChangeYUV) EVT_TEXT(SELECTOR_HSL_H, DialogColorPicker::OnChangeHSL) EVT_TEXT(SELECTOR_HSL_S, DialogColorPicker::OnChangeHSL) EVT_TEXT(SELECTOR_HSL_L, DialogColorPicker::OnChangeHSL) @@ -1076,14 +946,6 @@ void DialogColorPicker::OnSpinRGB(wxSpinEvent &evt) } -/*void DialogColorPicker::OnSpinYUV(wxSpinEvent &evt) -{ - if (!updating_controls) - spectrum_dirty = true; - UpdateFromYUV(); -}*/ - - void DialogColorPicker::OnSpinHSL(wxSpinEvent &evt) { if (!updating_controls) @@ -1108,14 +970,6 @@ void DialogColorPicker::OnChangeRGB(wxCommandEvent &evt) } -/*void DialogColorPicker::OnChangeYUV(wxCommandEvent &evt) -{ - if (!updating_controls) - spectrum_dirty = true; - UpdateFromYUV(); -}*/ - - void DialogColorPicker::OnChangeHSL(wxCommandEvent &evt) { if (!updating_controls) @@ -1183,12 +1037,6 @@ void DialogColorPicker::OnSpectrumChange(wxCommandEvent &evt) updating_controls = false; UpdateFromRGB(); break; - /*case 3: - yuv_input[2]->SetValue(x); - yuv_input[1]->SetValue(y); - updating_controls = false; - UpdateFromYUV(); - break;*/ case 3: hsl_input[1]->SetValue(x); hsl_input[0]->SetValue(y); @@ -1224,9 +1072,6 @@ void DialogColorPicker::OnSliderChange(wxCommandEvent &evt) case 2: rgb_input[2]->SetValue(y); break; - /*case 3: - yuv_input[0]->SetValue(y); - break;*/ case 3: hsl_input[2]->SetValue(y); break; @@ -1237,26 +1082,6 @@ void DialogColorPicker::OnSliderChange(wxCommandEvent &evt) } -/* -void DialogColorPicker::OnPreviewBoxPaint(wxPaintEvent &evt) -{ - if (!preview_box) { - wxPaintDC dc(this); - return; - } - - wxPaintDC dc(preview_box); - dc.SetPen(wxPen(*wxTRANSPARENT_PEN)); - wxBrush brush(dc.GetBrush()); - brush.SetColour(cur_color); - dc.SetBrush(brush); - dc.DrawRectangle(0, 0, 40, 40); - // just make sure the background isn't erased - evt.Skip(false); -} -*/ - - void DialogColorPicker::OnRecentSelect(wxCommandEvent &evt) { AssColor color; diff --git a/core/dialog_colorpicker.h b/core/dialog_colorpicker.h index 0ece5ab00..60c5833e4 100644 --- a/core/dialog_colorpicker.h +++ b/core/dialog_colorpicker.h @@ -133,11 +133,6 @@ private: wxBitmap *rgb_spectrum[3]; // x/y spectrum bitmap where color "i" is excluded from wxBitmap *rgb_slider[3]; // z spectrum for color "i" - // 0 = Y, 1 = U, 2 = V (what does, Y, U and V mean?!? just metasyntactical coordinate axis names?) - //wxSpinCtrl *yuv_input[3]; - //wxBitmap *yuv_spectrum; // u/v spectrum - //wxBitmap *yuv_slider; // y spectrum - // 0 = hue, 1 = saturation, 2 = luminance wxSpinCtrl *hsl_input[3]; wxBitmap *hsl_spectrum; // h/s spectrum @@ -161,7 +156,6 @@ private: wxButton *cancel_button; void UpdateFromRGB(); // Update all other controls as a result of modifying an RGB control - //void UpdateFromYUV(); // Update all other controls as a result of modifying a YUV control void UpdateFromHSL(); // Update all other controls as a result of modifying an HSL control void UpdateFromHSV(); // Update all other controls as a result of modifying an HSV control void UpdateFromASS(); // Update all other controls as a result of modifying the ASS format control @@ -171,16 +165,13 @@ private: wxBitmap *MakeGBSpectrum(); wxBitmap *MakeRBSpectrum(); wxBitmap *MakeRGSpectrum(); - //wxBitmap *MakeUVSpectrum(); wxBitmap *MakeHSSpectrum(); wxBitmap *MakeSVSpectrum(); void OnSpinRGB(wxSpinEvent &evt); - //void OnSpinYUV(wxSpinEvent &evt); void OnSpinHSL(wxSpinEvent &evt); void OnSpinHSV(wxSpinEvent &evt); void OnChangeRGB(wxCommandEvent &evt); - //void OnChangeYUV(wxCommandEvent &evt); void OnChangeHSL(wxCommandEvent &evt); void OnChangeHSV(wxCommandEvent &evt); void OnChangeASS(wxCommandEvent &evt); @@ -188,7 +179,6 @@ private: void OnChangeMode(wxCommandEvent &evt); void OnSpectrumChange(wxCommandEvent &evt); void OnSliderChange(wxCommandEvent &evt); - //void OnPreviewBoxPaint(wxPaintEvent &evt); void OnRecentSelect(wxCommandEvent &evt); public: @@ -209,9 +199,6 @@ enum { SELECTOR_RGB_R, SELECTOR_RGB_G, SELECTOR_RGB_B, - //SELECTOR_YUV_Y, - //SELECTOR_YUV_U, - //SELECTOR_YUV_V, SELECTOR_HSL_H, SELECTOR_HSL_S, SELECTOR_HSL_L,