merge after integrating the GUI draft; now using multiple build environments and check via pkg-config
This commit is contained in:
parent
50f8be0e16
commit
7a6b987a50
5 changed files with 334 additions and 24 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -5,7 +5,7 @@
|
||||||
*.os
|
*.os
|
||||||
*.gch
|
*.gch
|
||||||
,valgrind.log*
|
,valgrind.log*
|
||||||
Buildhelper.pyc
|
admin/scons/*.pyc
|
||||||
optcache
|
optcache
|
||||||
Makefile.in
|
Makefile.in
|
||||||
build/*
|
build/*
|
||||||
|
|
|
||||||
60
SConstruct
60
SConstruct
|
|
@ -26,6 +26,8 @@ sys.path.append("./admin/scons")
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from Buildhelper import *
|
from Buildhelper import *
|
||||||
|
from LumieraEnvironment import *
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------Configuration
|
#-----------------------------------Configuration
|
||||||
OPTIONSCACHEFILE = 'optcache'
|
OPTIONSCACHEFILE = 'optcache'
|
||||||
|
|
@ -33,6 +35,7 @@ CUSTOPTIONSFILE = 'custom-options'
|
||||||
SRCDIR = 'src'
|
SRCDIR = 'src'
|
||||||
BINDIR = 'bin'
|
BINDIR = 'bin'
|
||||||
TESTDIR = 'tests'
|
TESTDIR = 'tests'
|
||||||
|
ICONDIR = 'icons'
|
||||||
VERSION = '0.1+pre.01'
|
VERSION = '0.1+pre.01'
|
||||||
#-----------------------------------Configuration
|
#-----------------------------------Configuration
|
||||||
|
|
||||||
|
|
@ -53,13 +56,13 @@ def setupBasicEnvironment():
|
||||||
EnsureSConsVersion(0,96,90)
|
EnsureSConsVersion(0,96,90)
|
||||||
|
|
||||||
opts = defineCmdlineOptions()
|
opts = defineCmdlineOptions()
|
||||||
|
env = LumieraEnvironment(options=opts)
|
||||||
env = Environment(options=opts)
|
|
||||||
|
|
||||||
env.Append ( CCCOM=' -std=gnu99') # workaround for a bug: CCCOM currently doesn't honor CFLAGS, only CCFLAGS
|
env.Append ( CCCOM=' -std=gnu99') # workaround for a bug: CCCOM currently doesn't honor CFLAGS, only CCFLAGS
|
||||||
env.Replace( VERSION=VERSION
|
env.Replace( VERSION=VERSION
|
||||||
, SRCDIR=SRCDIR
|
, SRCDIR=SRCDIR
|
||||||
, BINDIR=BINDIR
|
, BINDIR=BINDIR
|
||||||
|
, ICONDIR=ICONDIR
|
||||||
, CPPPATH=["#"+SRCDIR] # used to find includes, "#" means always absolute to build-root
|
, CPPPATH=["#"+SRCDIR] # used to find includes, "#" means always absolute to build-root
|
||||||
, CPPDEFINES=['-DLUMIERA_VERSION='+VERSION ] # note: it's a list to append further defines
|
, CPPDEFINES=['-DLUMIERA_VERSION='+VERSION ] # note: it's a list to append further defines
|
||||||
, CCFLAGS='-Wall ' # -fdiagnostics-show-option
|
, CCFLAGS='-Wall ' # -fdiagnostics-show-option
|
||||||
|
|
@ -161,10 +164,14 @@ def configurePlatform(env):
|
||||||
setup platform specific options.
|
setup platform specific options.
|
||||||
Abort build in case of failure.
|
Abort build in case of failure.
|
||||||
"""
|
"""
|
||||||
conf = Configure(env)
|
conf = env.Configure()
|
||||||
# run all configuration checks in the current env
|
# run all configuration checks in the given env
|
||||||
|
|
||||||
|
# Perform checks for prerequisites --------------------------------------------
|
||||||
|
if not conf.TryAction('pkg-config --version > $TARGET')[0]:
|
||||||
|
print 'We need pkg-config for including library configurations, exiting.'
|
||||||
|
Exit(1)
|
||||||
|
|
||||||
# Checks for prerequisites ------------
|
|
||||||
if not conf.CheckLibWithHeader('m', 'math.h','C'):
|
if not conf.CheckLibWithHeader('m', 'math.h','C'):
|
||||||
print 'Did not find math.h / libm, exiting.'
|
print 'Did not find math.h / libm, exiting.'
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
@ -207,6 +214,34 @@ def configurePlatform(env):
|
||||||
print 'We need the boost regular expression lib (incl. binary lib for linking).'
|
print 'We need the boost regular expression lib (incl. binary lib for linking).'
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
|
# if not conf.CheckLibWithHeader('gavl', ['gavlconfig.h', 'gavl/gavl.h'], 'C'):
|
||||||
|
|
||||||
|
if not conf.CheckPkgConfig('gavl', 1.0):
|
||||||
|
print 'Did not find Gmerlin Audio Video Lib [http://gmerlin.sourceforge.net/gavl.html], exiting.'
|
||||||
|
Exit(1)
|
||||||
|
else:
|
||||||
|
conf.env.mergeConf('gavl')
|
||||||
|
|
||||||
|
if not conf.CheckPkgConfig('gtkmm-2.4', 2.8):
|
||||||
|
print 'Unable to configure GTK--, exiting.'
|
||||||
|
Exit(1)
|
||||||
|
|
||||||
|
if not conf.CheckPkgConfig('cairomm-1.0', 0.6):
|
||||||
|
print 'Unable to configure Cairo--, exiting.'
|
||||||
|
Exit(1)
|
||||||
|
|
||||||
|
if not conf.CheckPkgConfig('gdl-1.0', '0.6.1'):
|
||||||
|
print 'Unable to configure the GNOME DevTool Library, exiting.'
|
||||||
|
Exit(1)
|
||||||
|
|
||||||
|
if not conf.CheckPkgConfig('xv'): Exit(1)
|
||||||
|
# if not conf.CheckPkgConfig('xext'): Exit(1)
|
||||||
|
# if not conf.CheckPkgConfig('sm'): Exit(1)
|
||||||
|
#
|
||||||
|
# obviously not needed?
|
||||||
|
|
||||||
|
print "** Gathered Library Info: %s" % conf.env.libInfo.keys()
|
||||||
|
|
||||||
|
|
||||||
# create new env containing the finished configuration
|
# create new env containing the finished configuration
|
||||||
return conf.Finish()
|
return conf.Finish()
|
||||||
|
|
@ -240,7 +275,7 @@ def defineBuildTargets(env, artifacts):
|
||||||
objlib = ( srcSubtree(env,'$SRCDIR/common')
|
objlib = ( srcSubtree(env,'$SRCDIR/common')
|
||||||
+ srcSubtree(env,'$SRCDIR/lib')
|
+ srcSubtree(env,'$SRCDIR/lib')
|
||||||
)
|
)
|
||||||
plugobj = srcSubtree(env,'$SRCDIR/plugin', isShared=True)
|
objplug = srcSubtree(env,'$SRCDIR/plugin', isShared=True)
|
||||||
core = ( env.StaticLibrary('$BINDIR/lumiback.la', objback)
|
core = ( env.StaticLibrary('$BINDIR/lumiback.la', objback)
|
||||||
+ env.StaticLibrary('$BINDIR/lumiproc.la', objproc)
|
+ env.StaticLibrary('$BINDIR/lumiproc.la', objproc)
|
||||||
+ env.StaticLibrary('$BINDIR/lumi.la', objlib)
|
+ env.StaticLibrary('$BINDIR/lumi.la', objlib)
|
||||||
|
|
@ -253,7 +288,16 @@ def defineBuildTargets(env, artifacts):
|
||||||
env.Depends(objlib, precomp)
|
env.Depends(objlib, precomp)
|
||||||
|
|
||||||
artifacts['lumiera'] = env.Program('$BINDIR/lumiera', ['$SRCDIR/main.cpp']+ core )
|
artifacts['lumiera'] = env.Program('$BINDIR/lumiera', ['$SRCDIR/main.cpp']+ core )
|
||||||
artifacts['plugins'] = env.SharedLibrary('$BINDIR/lumiera-plugin', plugobj)
|
artifacts['plugins'] = env.SharedLibrary('$BINDIR/lumiera-plugin', objplug)
|
||||||
|
|
||||||
|
# the Lumiera GTK GUI
|
||||||
|
envgtk = env.Clone().mergeConf(['gtkmm-2.4','cairomm-1.0','gdl-1.0','xv','xext','sm'])
|
||||||
|
objgui = srcSubtree(envgtk,'$SRCDIR/gui')
|
||||||
|
|
||||||
|
artifacts['lumigui'] = ( envgtk.Program('$BINDIR/lumigui', objgui + core)
|
||||||
|
+ env.Install('$BINDIR', env.Glob('$ICONDIR/*.png'))
|
||||||
|
+ env.Install('$BINDIR', env.Glob('$SRCDIR/gui/*.rc'))
|
||||||
|
)
|
||||||
|
|
||||||
# call subdir SConscript(s) for independent components
|
# call subdir SConscript(s) for independent components
|
||||||
SConscript(dirs=[SRCDIR+'/tool'], exports='env artifacts core')
|
SConscript(dirs=[SRCDIR+'/tool'], exports='env artifacts core')
|
||||||
|
|
@ -269,7 +313,7 @@ def definePostBuildTargets(env, artifacts):
|
||||||
il = env.Alias('install-lib', '$DESTDIR/lib')
|
il = env.Alias('install-lib', '$DESTDIR/lib')
|
||||||
env.Alias('install', [ib, il])
|
env.Alias('install', [ib, il])
|
||||||
|
|
||||||
build = env.Alias('build', artifacts['lumiera']+artifacts['plugins']+artifacts['tools'])
|
build = env.Alias('build', artifacts['lumiera']+artifacts['lumigui']+artifacts['plugins']+artifacts['tools'])
|
||||||
allbu = env.Alias('allbuild', build+artifacts['testsuite'])
|
allbu = env.Alias('allbuild', build+artifacts['testsuite'])
|
||||||
env.Default('build')
|
env.Default('build')
|
||||||
# additional files to be cleaned when cleaning 'build'
|
# additional files to be cleaned when cleaning 'build'
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,18 @@ def globRootdirs(roots):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def filterNodes(nlist, removeName=None):
|
||||||
|
""" filter out scons build nodes using the given criteria.
|
||||||
|
removeName: if set, remove all nodes with this srcname
|
||||||
|
"""
|
||||||
|
if removeName:
|
||||||
|
predicate = lambda n : not fnmatch.fnmatch(os.path.basename(str(n[0])), removeName)
|
||||||
|
else:
|
||||||
|
predicate = lambda n : True;
|
||||||
|
|
||||||
|
return filter(predicate, nlist)
|
||||||
|
|
||||||
|
|
||||||
def RegisterPrecompiledHeader_Builder(env):
|
def RegisterPrecompiledHeader_Builder(env):
|
||||||
""" Registeres an Custom Builder for generating a precompiled Header.
|
""" Registeres an Custom Builder for generating a precompiled Header.
|
||||||
Note you should define a dependency to the PCH file
|
Note you should define a dependency to the PCH file
|
||||||
|
|
@ -111,7 +123,7 @@ def RegisterPrecompiledHeader_Builder(env):
|
||||||
|
|
||||||
def Tarball(env,location,dirs,suffix=''):
|
def Tarball(env,location,dirs,suffix=''):
|
||||||
""" Custom Command: create Tarball of some subdirs
|
""" Custom Command: create Tarball of some subdirs
|
||||||
location: where to create the tar (optionally incl. filename.tar.gz)
|
location: where to create the tar (may optionally include filename.tar.gz)
|
||||||
suffix: (optional) suffix to include in the tar name
|
suffix: (optional) suffix to include in the tar name
|
||||||
dirs: directories to include in the tar
|
dirs: directories to include in the tar
|
||||||
|
|
||||||
|
|
@ -132,7 +144,7 @@ def Tarball(env,location,dirs,suffix=''):
|
||||||
|
|
||||||
|
|
||||||
def createTarball(target,source,env):
|
def createTarball(target,source,env):
|
||||||
""" helper, builds the tar using the python2.3 tarfil lib.
|
""" helper, builds the tar using the python2.3 tarfile lib.
|
||||||
This allows us to prefix all paths, thus moving the tree
|
This allows us to prefix all paths, thus moving the tree
|
||||||
into a virtual subdirectory containing the Version number,
|
into a virtual subdirectory containing the Version number,
|
||||||
as needed by common packaging systems.
|
as needed by common packaging systems.
|
||||||
|
|
|
||||||
97
admin/scons/LumieraEnvironment.py
Normal file
97
admin/scons/LumieraEnvironment.py
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
# -*- python -*-
|
||||||
|
##
|
||||||
|
## LumieraEnvironment.py - custom SCons Environment
|
||||||
|
##
|
||||||
|
|
||||||
|
# Copyright (C) Lumiera.org
|
||||||
|
# 2008, Hermann Vosseler <Ichthyostega@web.de>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
|
||||||
|
from SCons.SConf import SConf
|
||||||
|
from SCons.Environment import Environment
|
||||||
|
|
||||||
|
from Buildhelper import *
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class LumieraEnvironment(Environment):
|
||||||
|
""" Custom SCons build environment for Lumiera
|
||||||
|
This allows us to carry structured config data without
|
||||||
|
using global vars. Idea inspired by Ardour.
|
||||||
|
"""
|
||||||
|
def __init__(self,*args,**kw):
|
||||||
|
Environment.__init__ (self,*args,**kw)
|
||||||
|
self.libInfo = {}
|
||||||
|
|
||||||
|
def Configure (self, *args, **kw):
|
||||||
|
kw['env'] = self
|
||||||
|
return apply(LumieraConfigContext, args, kw)
|
||||||
|
|
||||||
|
def mergeConf (self,other):
|
||||||
|
""" extract the library/compiler flags from other Environment.
|
||||||
|
Optionally accepts a list or just sting(s) representing keys
|
||||||
|
in our own libInfo Dictionary
|
||||||
|
"""
|
||||||
|
if isinstance(other, list):
|
||||||
|
for elm in other:
|
||||||
|
self.mergeConf(elm)
|
||||||
|
elif isinstance(other, str):
|
||||||
|
if other in self.libInfo:
|
||||||
|
self.mergeConf(self.libInfo[other])
|
||||||
|
else:
|
||||||
|
self.Append (LIBS = other.get ('LIBS',[]))
|
||||||
|
self.Append (LIBPATH = other.get ('LIBPATH', []))
|
||||||
|
self.Append (CPPPATH = other.get('CPPPATH', []))
|
||||||
|
self.Append (LINKFLAGS = other.get('LINKFLAGS', []))
|
||||||
|
|
||||||
|
return self
|
||||||
|
|
||||||
|
|
||||||
|
def addLibInfo (self, libID, minVersion=0):
|
||||||
|
""" use pkg-config to create an Environment describing the lib.
|
||||||
|
Don't add this defs to the current Environment, rather store
|
||||||
|
them in the libInfo Dictionary.
|
||||||
|
"""
|
||||||
|
minVersion = str(minVersion)
|
||||||
|
if 0 != os.system('pkg-config --print-errors --exists "%s >= %s"' % (libID,minVersion)):
|
||||||
|
print "Problems configuring the Library %s (>= %s)" % (libID,minVersion)
|
||||||
|
return False
|
||||||
|
|
||||||
|
self.libInfo[libID] = libInfo = LumieraEnvironment()
|
||||||
|
libInfo.ParseConfig ('pkg-config --cflags --libs '+ libID )
|
||||||
|
return libInfo
|
||||||
|
|
||||||
|
def Glob (self, pattern):
|
||||||
|
""" temporary workaround; newer versions of SCons provide this as a global function
|
||||||
|
"""
|
||||||
|
pattern = self.subst(pattern)
|
||||||
|
return glob.glob(pattern)
|
||||||
|
|
||||||
|
|
||||||
|
class LumieraConfigContext(SConf):
|
||||||
|
""" Extends the SCons Configure context with some convenience methods
|
||||||
|
"""
|
||||||
|
def __init__(self, *args,**kw):
|
||||||
|
SConf.__init__(self,*args,**kw)
|
||||||
|
|
||||||
|
def CheckPkgConfig (self, libID, minVersion=0):
|
||||||
|
print "Checking for library configuration: %s " % libID
|
||||||
|
# self.Message(self,"Checking for library configuration: %s " % libID)
|
||||||
|
return self.env.addLibInfo (libID, minVersion)
|
||||||
|
|
||||||
|
|
||||||
157
src/gui/lumiera_ui.rc
Normal file
157
src/gui/lumiera_ui.rc
Normal file
|
|
@ -0,0 +1,157 @@
|
||||||
|
#
|
||||||
|
# This is the GTK style file for Lumiera
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
#---------- Styles for Standard Widgets ----------#
|
||||||
|
|
||||||
|
style "medium_text"
|
||||||
|
{
|
||||||
|
font_name = "sans 10"
|
||||||
|
}
|
||||||
|
|
||||||
|
style "medium_bold_entry" = "medium_text"
|
||||||
|
{
|
||||||
|
fg[NORMAL] = { 0.70, 0.70, 0.70 }
|
||||||
|
fg[ACTIVE] = { 0.70, 0.70, 0.70 }
|
||||||
|
|
||||||
|
bg[NORMAL] = { 0.35, 0.35, 0.40 }
|
||||||
|
|
||||||
|
base[NORMAL] = { 0, 0, 0 }
|
||||||
|
base[ACTIVE] = { 0, 0, 0 }
|
||||||
|
base[SELECTED] = { 0, 0, 0 }
|
||||||
|
}
|
||||||
|
|
||||||
|
style "default_base" = "medium_text"
|
||||||
|
{
|
||||||
|
GtkWidget::cursor_color = {1.0, 1.0, 1.0 }
|
||||||
|
GtkButton::default_border = { 0, 0, 0, 0 }
|
||||||
|
GtkButton::default_outside_border = { 0, 0, 0, 0 }
|
||||||
|
GtkTreeView::vertical-padding = 0
|
||||||
|
GtkTreeView::horizontal-padding = 0
|
||||||
|
GtkTreeView::even-row-color = { 0, 0, 0 }
|
||||||
|
GtkTreeView::odd-row-color = { 0, 0, 0 }
|
||||||
|
|
||||||
|
fg[NORMAL] = { 0.80, 0.80, 0.80 }
|
||||||
|
fg[ACTIVE] = { 0.80, 0.80, 0.80 }
|
||||||
|
fg[PRELIGHT] = { 1.0, 1.0, 1.0 }
|
||||||
|
fg[INSENSITIVE] = { 0.80, 0.80, 0.80 }
|
||||||
|
fg[SELECTED] = { 0.80, 0.80, 0.80 }
|
||||||
|
|
||||||
|
bg[NORMAL] = { 0.35, 0.35, 0.40 }
|
||||||
|
bg[ACTIVE] = { 0.35, 0.35, 0.40 }
|
||||||
|
bg[PRELIGHT] = "#565690"
|
||||||
|
bg[INSENSITIVE] = { 0.10, 0.10, 0.10 }
|
||||||
|
bg[SELECTED] = { 0, 0.40, 0.60 }
|
||||||
|
|
||||||
|
text[NORMAL] = { 0.80, 0.80, 0.80 }
|
||||||
|
text[ACTIVE] = { 0.80, 0.80, 0.80 }
|
||||||
|
text[PRELIGHT] = { 0.80, 0.80, 0.80 }
|
||||||
|
text[INSENSITIVE] = { 0.80, 0.80, 0.80}
|
||||||
|
text[SELECTED] = { 1.0, 1.0, 1.0 }
|
||||||
|
|
||||||
|
base[ACTIVE] = "#272a2f"
|
||||||
|
base[NORMAL] = "#1a1e20"
|
||||||
|
base[PRELIGHT] = { 0.20, 0.20, 0.20 }
|
||||||
|
base[INSENSITIVE] = "#4c5159"
|
||||||
|
base[SELECTED] = { 0.25, 0.25, 0.25 }
|
||||||
|
|
||||||
|
engine "clearlooks"
|
||||||
|
{
|
||||||
|
menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient
|
||||||
|
# menuitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button)
|
||||||
|
# listviewitemstyle = 1 # 0 = flat, 1 = 3d-ish (gradient)
|
||||||
|
# progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
style "default_buttons_menus"
|
||||||
|
{
|
||||||
|
font_name = "sans 10"
|
||||||
|
fg[ACTIVE] = { 1.0, 1.0, 1.0 }
|
||||||
|
|
||||||
|
bg[NORMAL] = { 0.30, 0.30, 0.35 }
|
||||||
|
bg[ACTIVE] = "#565690"
|
||||||
|
bg[PRELIGHT] = { 0.15, 0.15, 0.20 }
|
||||||
|
bg[INSENSITIVE] = { 0.15, 0.15, 0.20 }
|
||||||
|
bg[SELECTED] = { 0.15, 0.15, 0.20 }
|
||||||
|
}
|
||||||
|
|
||||||
|
style "lumiera_adjusters" = "default_buttons_menus"
|
||||||
|
{
|
||||||
|
fg[NORMAL] = { 0.80, 0.80, 0.80 }
|
||||||
|
fg[ACTIVE] = { 0.80, 0.80, 0.80 }
|
||||||
|
fg[PRELIGHT] = { 1.0, 1.0, 1.0 }
|
||||||
|
fg[INSENSITIVE] = { 0.80, 0.80, 0.80 }
|
||||||
|
fg[SELECTED] = { 0.80, 0.80, 0.80 }
|
||||||
|
|
||||||
|
bg[NORMAL] = { 0.35, 0.35, 0.40 }
|
||||||
|
bg[ACTIVE] = { 0.35, 0.35, 0.40 }
|
||||||
|
bg[PRELIGHT] = "#565690"
|
||||||
|
bg[INSENSITIVE] = { 0.10, 0.10, 0.10 }
|
||||||
|
bg[SELECTED] = { 0, 0.40, 0.60 }
|
||||||
|
}
|
||||||
|
|
||||||
|
style "lumiera_progressbars" = "default_buttons_menus"
|
||||||
|
{
|
||||||
|
bg[NORMAL] = { 0, 0, 0 }
|
||||||
|
bg[PRELIGHT] = { 0.00, 0.36, 0.40 }
|
||||||
|
}
|
||||||
|
|
||||||
|
style "lumiera_button" = "default_buttons_menus"
|
||||||
|
{
|
||||||
|
xthickness = 1
|
||||||
|
ythickness = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
style "tearoff_arrow" = "medium_bold_entry"
|
||||||
|
{
|
||||||
|
fg[NORMAL] = { 0.80, 0.80, 0.80 }
|
||||||
|
fg[PRELIGHT] = { 0.80, 0.80, 0.80 }
|
||||||
|
bg[NORMAL] = { 0.80, 0.80, 0.80 }
|
||||||
|
bg[PRELIGHT] = { 0.80, 0.80, 0.80 }
|
||||||
|
}
|
||||||
|
|
||||||
|
class "GtkWidget" style:highest "default_base"
|
||||||
|
class "GtkScrollbar" style:highest "lumiera_adjusters"
|
||||||
|
class "GtkLabel" style:highest "default_buttons_menus"
|
||||||
|
class "GtkButton" style:highest "lumiera_button"
|
||||||
|
class "GtkArrow" style:highest "tearoff_arrow"
|
||||||
|
class "GtkProgressBar" style:highest "lumiera_progressbars"
|
||||||
|
|
||||||
|
#---------- Styles for Lumiera Widgets ----------#
|
||||||
|
|
||||||
|
style "timeline_body"
|
||||||
|
{
|
||||||
|
gtkmm__CustomObject_TimelineBody::background = "#7E838B"
|
||||||
|
}
|
||||||
|
|
||||||
|
style "timeline_ruler" = "default_base"
|
||||||
|
{
|
||||||
|
font_name = "sans 8"
|
||||||
|
gtkmm__CustomObject_TimelineRuler::height = 18
|
||||||
|
gtkmm__CustomObject_TimelineRuler::major_tick_height = 18
|
||||||
|
gtkmm__CustomObject_TimelineRuler::minor_long_tick_height = 6
|
||||||
|
gtkmm__CustomObject_TimelineRuler::minor_short_tick_height = 3
|
||||||
|
gtkmm__CustomObject_TimelineRuler::annotation_horz_margin = 3
|
||||||
|
gtkmm__CustomObject_TimelineRuler::annotation_vert_margin = 0
|
||||||
|
gtkmm__CustomObject_TimelineRuler::min_division_width = 100
|
||||||
|
gtkmm__CustomObject_TimelineRuler::mouse_chevron_size = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
style "timeline_header_base" = "default_base"
|
||||||
|
{
|
||||||
|
# fg[NORMAL] = { 0.77, 0.77, 0.72 }
|
||||||
|
# bg[NORMAL] = { 0.18, 0.19, 0.22 }
|
||||||
|
# bg[ACTIVE] = { 0.20, 0.20, 0.20 }
|
||||||
|
# bg[PRELIGHT] = { 0.20, 0.20, 0.20 }
|
||||||
|
# bg[INSENSITIVE] = { 0.20, 0.20, 0.20 }
|
||||||
|
# bg[SELECTED] = { 0.20, 0.20, 0.20 }
|
||||||
|
}
|
||||||
|
|
||||||
|
class "gtkmm__CustomObject_TimelineBody" style:highest "timeline_body"
|
||||||
|
class "gtkmm__CustomObject_TimelineRuler" style:highest "timeline_ruler"
|
||||||
|
|
||||||
|
widget "*TimelineHeaderBaseUnselected" style:highest "timeline_header_base"
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in a new issue