fix minimum VST GUI window size (gtk padding)
authorRobin Gareus <robin@gareus.org>
Sat, 22 Feb 2014 01:30:57 +0000 (02:30 +0100)
committerRobin Gareus <robin@gareus.org>
Sat, 22 Feb 2014 02:11:49 +0000 (03:11 +0100)
gtk2_ardour/vst_plugin_ui.cc
libs/ardour/ardour/vst_types.h
libs/fst/vstwin.c

index 2bd9724b871b6c72920cd747b6ce0271427abf97..35f59a71f5d6fee7ab0e2cb355f629e082ed16cc 100644 (file)
@@ -61,15 +61,13 @@ VSTPluginUI::preset_selected ()
 int
 VSTPluginUI::get_preferred_height ()
 {
-       int preferred_height = _vst->state()->height;
-       preferred_height += _vst->state()->voffset;
-       return preferred_height;
+       return _vst->state()->height + _vst->state()->voffset;
 }
 
 int
 VSTPluginUI::get_preferred_width ()
 {
-       return _vst->state()->width;
+       return _vst->state()->width + _vst->state()->hoffset;
 }
 
 int
index 2d273f1bc560f9c6e7abfd7aec7e00afd3623c0d..a393ef2b5ad584d570a19480a3f343a2040ce98a 100644 (file)
@@ -97,6 +97,7 @@ struct LIBARDOUR_API _VSTState
        int wantIdle;
 
        int voffset;
+       int hoffset;
        int gui_shown;
        int destroy;
        int vst_version;
index 75bf2372da8dbf82f3b4f7ebbb2e4ce0bb2697f5..58ce0fd235e0419cc1bf1566b12bd1c06d441d89 100644 (file)
@@ -224,8 +224,10 @@ fst_new (void)
        fst->has_editor = 0;
 #ifdef PLATFORM_WINDOWS
        fst->voffset = 36;
+       fst->hoffset = 0;
 #else /* linux + wine */
        fst->voffset = 24;
+       fst->hoffset = 6;
 #endif
        fst->program_set_without_editor = 0;
        return fst;
@@ -463,9 +465,9 @@ fst_move_window_into_view (VSTState* fst)
 {
        if (fst->windows_window) {
 #ifdef PLATFORM_WINDOWS
-               SetWindowPos ((HWND)(fst->windows_window), 0, 0, fst->voffset, fst->width, fst->height, 0);
+               SetWindowPos ((HWND)(fst->windows_window), 0, fst->hoffset, fst->voffset, fst->width, fst->height, 0);
 #else /* linux + wine */
-               SetWindowPos ((HWND)(fst->windows_window), 0, 0, 0, fst->width, fst->height, 0);
+               SetWindowPos ((HWND)(fst->windows_window), 0, 0, 0, fst->width + fst->hoffset, fst->height + fst->voffset, 0);
 #endif
                ShowWindow ((HWND)(fst->windows_window), SW_SHOWNA);
        }