- add_label_to_grid_bag_sizer (grid, this, _("Right crop"), true, wxGBPosition (r, 0));
- _right_crop = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1));
- grid->Add (_right_crop, wxGBPosition (r, 1));
- ++r;
-
- add_label_to_grid_bag_sizer (grid, this, _("Top crop"), true, wxGBPosition (r, 0));
- _top_crop = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1));
- grid->Add (_top_crop, wxGBPosition (r, 1));
+ add_label_to_sizer (grid, this, _("Crop"), true, wxGBPosition (r, 0));
+
+ int cr = 0;
+ wxGridBagSizer* crop = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
+
+ add_label_to_sizer (crop, this, _("Left"), true, wxGBPosition (cr, 0));
+ _left_crop = new ContentSpinCtrl<VideoContent> (
+ this,
+ new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)),
+ VideoContentProperty::CROP,
+ &Content::video,
+ boost::mem_fn (&VideoContent::left_crop),
+ boost::mem_fn (&VideoContent::set_left_crop)
+ );
+ _left_crop->add (crop, wxGBPosition (cr, 1));
+
+ add_label_to_sizer (crop, this, _("Right"), true, wxGBPosition (cr, 2));
+ _right_crop = new ContentSpinCtrl<VideoContent> (
+ this,
+ new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)),
+ VideoContentProperty::CROP,
+ &Content::video,
+ boost::mem_fn (&VideoContent::right_crop),
+ boost::mem_fn (&VideoContent::set_right_crop)
+ );
+ _right_crop->add (crop, wxGBPosition (cr, 3));
+
+ ++cr;
+
+ add_label_to_sizer (crop, this, _("Top"), true, wxGBPosition (cr, 0));
+ _top_crop = new ContentSpinCtrl<VideoContent> (
+ this,
+ new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)),
+ VideoContentProperty::CROP,
+ &Content::video,
+ boost::mem_fn (&VideoContent::top_crop),
+ boost::mem_fn (&VideoContent::set_top_crop)
+ );
+ _top_crop->add (crop, wxGBPosition (cr, 1));
+
+ add_label_to_sizer (crop, this, _("Bottom"), true, wxGBPosition (cr, 2));
+ _bottom_crop = new ContentSpinCtrl<VideoContent> (
+ this,
+ new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)),
+ VideoContentProperty::CROP,
+ &Content::video,
+ boost::mem_fn (&VideoContent::bottom_crop),
+ boost::mem_fn (&VideoContent::set_bottom_crop)
+ );
+ _bottom_crop->add (crop, wxGBPosition (cr, 3));
+
+ grid->Add (crop, wxGBPosition (r, 1), wxGBSpan (2, 3));
+ r += 2;
+
+ add_label_to_sizer (grid, this, _("Fade in"), true, wxGBPosition (r, 0));
+ _fade_in = new Timecode<ContentTime> (this);
+ grid->Add (_fade_in, wxGBPosition (r, 1), wxGBSpan (1, 3));