Applying the etorres gleam patch. STR #2672.

TODO: Xcode 4 ide needs fl_gleam.cxx added
      Test of Visual Studio IDE mods (which were hand-modified)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Greg Ercolano 2014-02-25 04:24:41 +00:00
parent de7a79afd6
commit c5d5ba1cf5
17 changed files with 86 additions and 5 deletions

View File

@ -520,6 +520,14 @@ enum Fl_Boxtype { // boxtypes (if you change these you must fix fl_boxtype.C):
_FL_GTK_THIN_DOWN_FRAME, ///< gtk+ version of FL_THIN_DOWN_FRAME
_FL_GTK_ROUND_UP_BOX, ///< gtk+ version of FL_ROUND_UP_BOX
_FL_GTK_ROUND_DOWN_BOX, ///< gtk+ version of FL_ROUND_DOWN_BOX
_FL_GLEAM_UP_BOX, ///< gleam version of FL_GLEAM_UP_BOX
_FL_GLEAM_DOWN_BOX, ///< gleam version of FL_GLEAM_DOWN_BOX
_FL_GLEAM_UP_FRAME, ///< gleam version of FL_GLEAM_UP_FRAME
_FL_GLEAM_DOWN_FRAME, ///< gleam version of FL_GLEAM_DOWN_FRAME
_FL_GLEAM_THIN_UP_BOX, ///< gleam version of FL_GLEAM_THIN_UP_BOX
_FL_GLEAM_THIN_DOWN_BOX, ///< gleam version of FL_GLEAM_THIN_DOWN_BOX
_FL_GLEAM_ROUND_UP_BOX, ///< gleam version of FL_GLEAM_ROUND_UP_BOX
_FL_GLEAM_ROUND_DOWN_BOX, ///< gleam version of FL_GLEAM_ROUND_DOWN_BOX
FL_FREE_BOXTYPE ///< the first free box type for creation of new box types
};
extern FL_EXPORT Fl_Boxtype fl_define_FL_ROUND_UP_BOX();
@ -566,6 +574,16 @@ extern FL_EXPORT Fl_Boxtype fl_define_FL_GTK_UP_BOX();
#define FL_GTK_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+8)
#define FL_GTK_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GTK_UP_BOX()+9)
extern FL_EXPORT Fl_Boxtype fl_define_FL_GLEAM_UP_BOX();
#define FL_GLEAM_UP_BOX fl_define_FL_GLEAM_UP_BOX()
#define FL_GLEAM_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+1)
#define FL_GLEAM_UP_FRAME (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+2)
#define FL_GLEAM_DOWN_FRAME (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+3)
#define FL_GLEAM_THIN_UP_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+4)
#define FL_GLEAM_THIN_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+5)
#define FL_GLEAM_ROUND_UP_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+6)
#define FL_GLEAM_ROUND_DOWN_BOX (Fl_Boxtype)(fl_define_FL_GLEAM_UP_BOX()+7)
// conversions of box types to other boxtypes:
/**
Get the filled version of a frame.

View File

@ -678,6 +678,12 @@ Fl_Menu_Item boxmenu[] = {
{"GTK_THIN_DOWN_BOX",0,0,(void *)FL_GTK_THIN_DOWN_BOX},
{"GTK_ROUND_UP_BOX",0,0,(void *)FL_GTK_ROUND_UP_BOX},
{"GTK_ROUND_DOWN_BOX",0,0,(void *)FL_GTK_ROUND_DOWN_BOX},
{"GLEAM_UP_BOX",0,0,(void *)FL_GLEAM_UP_BOX},
{"GLEAM_DOWN_BOX",0,0,(void *)FL_GLEAM_DOWN_BOX},
{"GLEAM_THIN_UP_BOX",0,0,(void *)FL_GLEAM_THIN_UP_BOX},
{"GLEAM_THIN_DOWN_BOX",0,0,(void *)FL_GLEAM_THIN_DOWN_BOX},
{"GLEAM_ROUND_UP_BOX",0,0,(void *)FL_GLEAM_ROUND_UP_BOX},
{"GLEAM_ROUND_DOWN_BOX",0,0,(void *)FL_GLEAM_ROUND_DOWN_BOX},
{0},
{"frames",0,0,0,FL_SUBMENU},
{"UP_FRAME",0,0,(void *)FL_UP_FRAME},
@ -696,6 +702,8 @@ Fl_Menu_Item boxmenu[] = {
{"GTK_DOWN_FRAME",0,0,(void *)FL_GTK_DOWN_FRAME},
{"GTK_THIN_UP_FRAME",0,0,(void *)FL_GTK_THIN_UP_FRAME},
{"GTK_THIN_DOWN_FRAME",0,0,(void *)FL_GTK_THIN_DOWN_FRAME},
{"GLEAM_UP_FRAME",0,0,(void *)FL_GLEAM_UP_FRAME},
{"GLEAM_DOWN_FRAME",0,0,(void *)FL_GLEAM_DOWN_FRAME},
{0},
{0}};

View File

@ -153,6 +153,7 @@ Fl_Menu_Item menu_scheme_choice[] = {
{"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
{"Plastic", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
{"GTK+", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
{"Gleam", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0}
};

View File

@ -187,6 +187,10 @@ Function {make_settings_window()} {} {
label {GTK+}
xywh {10 10 35 25}
}
MenuItem {} {
label {Gleam}
xywh {20 20 35 25}
}
}
Fl_Group {} {open
xywh {116 43 220 126} labelfont 1 align 0

View File

@ -1113,6 +1113,9 @@ void scheme_cb(Fl_Choice *, void *) {
case 3 : // GTK+
Fl::scheme("gtk+");
break;
case 4 : // Gleam
Fl::scheme("gleam");
break;
}
fluid_prefs.set("scheme", scheme_choice->value());

View File

@ -3288,6 +3288,10 @@
RelativePath="..\..\src\fl_gtk.cxx"
>
</File>
<File
RelativePath="..\..\src\fl_gleam.cxx"
>
</File>
<File
RelativePath="..\..\src\Fl_Help_View.cxx"
>

View File

@ -2927,6 +2927,10 @@
RelativePath="..\..\src\fl_gtk.cxx"
>
</File>
<File
RelativePath="..\..\src\fl_gleam.cxx"
>
</File>
<File
RelativePath="..\..\src\Fl_Help_Dialog.cxx"
>

View File

@ -1159,6 +1159,7 @@
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\fl_gtk.cxx" />
<ClCompile Include="..\..\src\fl_gleam.cxx" />
<ClCompile Include="..\..\src\Fl_Help_View.cxx">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Cairo|Win32'">Disabled</Optimization>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Cairo|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -2452,4 +2453,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -427,6 +427,7 @@
<ClCompile Include="..\..\src\Fl_grab.cxx" />
<ClCompile Include="..\..\src\Fl_Group.cxx" />
<ClCompile Include="..\..\src\fl_gtk.cxx" />
<ClCompile Include="..\..\src\fl_gleam.cxx" />
<ClCompile Include="..\..\src\Fl_Help_View.cxx" />
<ClCompile Include="..\..\src\Fl_Image.cxx" />
<ClCompile Include="..\..\src\Fl_Input.cxx" />
@ -517,4 +518,4 @@
<ClCompile Include="..\..\src\screen_xywh.cxx" />
<ClCompile Include="..\..\src\vsnprintf.c" />
</ItemGroup>
</Project>
</Project>

View File

@ -971,6 +971,7 @@
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">_CRT_SECURE_NO_DEPRECATE;FL_DLL;FL_LIBRARY;WIN32;NDEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;VC_EXTRA_LEAN;WIN32_EXTRA_LEAN</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\fl_gtk.cxx" />
<ClCompile Include="..\..\src\fl_gleam.cxx" />
<ClCompile Include="..\..\src\Fl_Help_Dialog.cxx">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Cairo|Win32'">Disabled</Optimization>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Cairo|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -2146,4 +2147,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -323,6 +323,10 @@ SOURCE=..\..\src\fl_gtk.cxx
# End Source File
# Begin Source File
SOURCE=..\..\src\fl_gleam.cxx
# End Source File
# Begin Source File
SOURCE=..\..\src\Fl_Help_View.cxx
# End Source File
# Begin Source File

View File

@ -341,6 +341,10 @@ SOURCE=..\..\src\fl_gtk.cxx
# End Source File
# Begin Source File
SOURCE=..\..\src\fl_gleam.cxx
# End Source File
# Begin Source File
SOURCE=..\..\src\Fl_Help_View.cxx
# End Source File
# Begin Source File

View File

@ -110,6 +110,7 @@
291FA24A9E91A2036BC718A2 /* Fl_Overlay_Window.cxx in Sources */ = {isa = PBXBuildFile; fileRef = D1C792936D427CC48581BFAE /* Fl_Overlay_Window.cxx */; };
29303C4480E0BBEB9E29EE7B /* vsnprintf.c in Sources */ = {isa = PBXBuildFile; fileRef = EBC0D2C965EDD6503B0CF519 /* vsnprintf.c */; };
299CB8A2848CB844BCEC7829 /* Fl_Paged_Device.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 6C1C9A4F054C48CDD6A2DE44 /* Fl_Paged_Device.cxx */; };
299E717818BC503400FF83F2 /* fl_gleam.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 299E717718BC503400FF83F2 /* fl_gleam.cxx */; };
29A99477531233BE9391CE66 /* Fl_Slider.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 5AF5119D08DFC92EA1032671 /* Fl_Slider.cxx */; };
29B01C1F3FF6C5B007DEEF45 /* fltk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB0F8FE6383384180570D94 /* fltk.framework */; };
29ED282EF51CBBB0CDEE76D6 /* Fl_Color_Chooser.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 058BCBC36ADE724A418F1C43 /* Fl_Color_Chooser.cxx */; };
@ -4145,6 +4146,7 @@
28AFF174A53E38CCB7475C19 /* jdmaster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = ../../jpeg/jdmaster.c; sourceTree = SOURCE_ROOT; };
28E8F2802DEA5334F914BE98 /* Fl_grab.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fl_grab.cxx; path = ../../src/Fl_grab.cxx; sourceTree = SOURCE_ROOT; };
28F3E4EBB6E5F8420624A5DA /* Fl_Scrollbar.H */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Fl_Scrollbar.H; path = ../../FL/Fl_Scrollbar.H; sourceTree = SOURCE_ROOT; };
299E717718BC503400FF83F2 /* fl_gleam.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fl_gleam.cxx; path = ../../src/fl_gleam.cxx; sourceTree = SOURCE_ROOT; };
29E61287C1F4A1123829C900 /* glut_font.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glut_font.cxx; path = ../../src/glut_font.cxx; sourceTree = SOURCE_ROOT; };
2A3CEBA07E8AE9BF4C002531 /* CubeMain.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CubeMain.cxx; path = ../../test/CubeMain.cxx; sourceTree = SOURCE_ROOT; };
2A5CB08352A0DBD0980FC770 /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../png/pngpread.c; sourceTree = SOURCE_ROOT; };
@ -5560,6 +5562,7 @@
FA2F70BA8FF4E7F4B7B36971 /* fl_file_dir.cxx */,
9E8F7BCC0292044D887D423B /* fl_font.cxx */,
7A2CE7959780A1C6E60103E8 /* fl_gtk.cxx */,
299E717718BC503400FF83F2 /* fl_gleam.cxx */,
EF6D2F48B12359DE60E499C2 /* fl_labeltype.cxx */,
0B5987E1A293E67A6290612A /* fl_line_style.cxx */,
FAD24127A06F3F9F0EEB843A /* fl_open_uri.cxx */,
@ -9875,6 +9878,7 @@
438CCCA43724B2E59680EF6B /* template_panel.cxx in Sources */,
27B4C89E8CBF260313ACA42E /* undo.cxx in Sources */,
B7D0770AC83AA04E8E12B76E /* widget_panel.cxx in Sources */,
299E717818BC503400FF83F2 /* fl_gleam.cxx in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -295,6 +295,7 @@ int Fl::scheme(const char *s) {
if (!fl_ascii_strcasecmp(s, "none") || !fl_ascii_strcasecmp(s, "base") || !*s) s = 0;
else if (!fl_ascii_strcasecmp(s, "gtk+")) s = strdup("gtk+");
else if (!fl_ascii_strcasecmp(s, "plastic")) s = strdup("plastic");
else if (!fl_ascii_strcasecmp(s, "gleam")) s = strdup("gleam");
else s = 0;
}
if (scheme_) free((void*)scheme_);
@ -379,6 +380,27 @@ int Fl::reload_scheme() {
set_boxtype(_FL_ROUND_UP_BOX, FL_GTK_ROUND_UP_BOX);
set_boxtype(_FL_ROUND_DOWN_BOX, FL_GTK_ROUND_DOWN_BOX);
// Use slightly thinner scrollbars...
Fl::scrollbar_size(15);
} else if (scheme_ && !fl_ascii_strcasecmp(scheme_, "gleam")) {
// Use a GTK+ inspired look-n-feel...
if (scheme_bg_) {
delete scheme_bg_;
scheme_bg_ = (Fl_Image *)0;
}
set_boxtype(FL_UP_FRAME, FL_GLEAM_UP_FRAME);
set_boxtype(FL_DOWN_FRAME, FL_GLEAM_DOWN_FRAME);
set_boxtype(FL_THIN_UP_FRAME, FL_GLEAM_UP_FRAME);
set_boxtype(FL_THIN_DOWN_FRAME, FL_GLEAM_DOWN_FRAME);
set_boxtype(FL_UP_BOX, FL_GLEAM_UP_BOX);
set_boxtype(FL_DOWN_BOX, FL_GLEAM_DOWN_BOX);
set_boxtype(FL_THIN_UP_BOX, FL_GLEAM_THIN_UP_BOX);
set_boxtype(FL_THIN_DOWN_BOX, FL_GLEAM_THIN_DOWN_BOX);
set_boxtype(_FL_ROUND_UP_BOX, FL_GLEAM_ROUND_UP_BOX);
set_boxtype(_FL_ROUND_DOWN_BOX, FL_GLEAM_ROUND_DOWN_BOX);
// Use slightly thinner scrollbars...
Fl::scrollbar_size(15);
} else {

View File

@ -133,6 +133,7 @@ CPPFILES = \
fl_engraved_label.cxx \
fl_file_dir.cxx \
fl_font.cxx \
fl_gleam.cxx \
fl_gtk.cxx \
fl_labeltype.cxx \
fl_line_style.cxx \

View File

@ -58,6 +58,7 @@ static VN_struct btypes[]=
{FL_PLASTIC_DOWN_BOX,"plastic downbox"},
{FL_GTK_UP_BOX,"GTK up box"},
{FL_GTK_ROUND_UP_BOX,"GTK round up box"},
{FL_GLEAM_UP_BOX,"Gleam up box"},
/* sentinel */
{-1}
};

View File

@ -62,14 +62,14 @@ public:
schemechoice->add("none");
schemechoice->add("plastic");
schemechoice->add("gtk+");
//schemechoice->add("gleam");
schemechoice->add("gleam");
schemechoice->value(0);
schemechoice->labelfont(FL_HELVETICA_BOLD);
const char *name = Fl::scheme();
if ( name ) {
if ( strcmp(name, "plastic") == 0) { schemechoice->value(1); }
else if ( strcmp(name, "gtk+") == 0) { schemechoice->value(2); }
//else if ( strcmp(name, "gleam") == 0) { schemechoice->value(3); }
else if ( strcmp(name, "gleam") == 0) { schemechoice->value(3); }
}
schemechoice->callback(SchemeChoice_CB, (void*)this);