# SphereCrystal gtk theme
# (c) 2002-2003  Christian Schaller <Uraeus@gnome.org>
# (c) 2002-2003  oprime <http://themes.freshmeat.net/~oprime/>
# (c) 2002-2003 Andrew Duhan <andrew@duhan.net>

#pixmap_path  "/usr/share/icons/SphereCrystal/scalable"
include "iconrc"

style "base"
{
   fg[NORMAL]      = "#000000" 
  fg[PRELIGHT]    = "#000000" 
  fg[ACTIVE]      = "#000000" 
  fg[SELECTED]    = "#000000" 
  fg[INSENSITIVE] = "#999999" 
  bg[NORMAL]      = "#f6f6f6" 
  bg[PRELIGHT]    = "#cccccc"
  bg[ACTIVE]      = "#cccccc"
  bg[SELECTED]    = "#a6b5bf"
  bg[INSENSITIVE] = "#cccccc"
  base[NORMAL]    = "#ffffff"
  base[SELECTED]  = "#a6b5bf"
  base[ACTIVE]    = "#a6b5bf"
  GtkRange::slider_width = 15
  GtkScrollbar::min_slider_length = 15
  # Sets the color of the cursor  
  GtkEntry::cursor_color = "#000000" 
  GtkTextView::cursor_color = "#000000"
} class "*" style "base"

style "default"
{
  engine "pixmap" 
	{
  image {
            function        = SLIDER
            recolorable     = TRUE
            file            = "scrollbar_horizontal.svg"
            border          = { 10, 10, 6, 7 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            recolorable     = TRUE
            file            = "scrollbar_vertical.svg"
            border          = { 6, 7, 10, 10 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
  
  image {
            function        = BOX
            recolorable     = TRUE
            detail          = "slider"
            state           = PRELIGHT
            file            = "scrollbar_prelight_horizontal.svg"
            border          = { 10, 10, 6, 7 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "slider"
            file            = "scrollbar_horizontal.svg"
            border          = { 10, 10, 6, 7 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "slider"
            state           = PRELIGHT
            file            = "scrollbar_prelight_vertical.svg"
            border          = { 6, 7, 10, 10 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "slider"
            file            = "scrollbar_vertical.svg"
            border          = { 6, 7, 10, 10 }
            stretch         = TRUE
            orientation     = VERTICAL
        } 
	image {
            function        = BOX
            recolorable     = TRUE
            detail          = "paned"
            file            = "paned.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }

	image {
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "vertical_trough.png"
            border          = { 2, 2, 1, 1 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
	# This entry sets the background image used for the menubar
	image {
            function        = BOX
            recolorable     = TRUE
            detail          = "menubar"
            file            = "menubar_background.png"
            border          = { 2, 2, 1, 1 }
            stretch         = TRUE
            orientation     = VERTICAL
        }

        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "horizontal_trough.png"
            border          = { 1, 1, 2, 2 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
image { 
            function        = FLAT_BOX
            recolorable     = TRUE
            detail          = "tooltip"
            file            = "tooltip.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
image {
            function        = BOX
            recolorable     = TRUE
            detail          = "handlebox_bin"
            file            = "handlebox.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
image {
            function        = FLAT_BOX
            recolorable     = TRUE
            state           = INSENSITIVE
            detail          = "selected"
            file            = "text_selected_insensitive.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            detail          = "selected"
            file            = "text_selected.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            state           = INSENSITIVE
            detail          = "text"
            file            = "text_insensitive.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            detail          = "text"
            file            = "text_selected.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            detail          = "viewportbin"
            file            = "background.png"
            stretch         = FALSE
        }
####################
	
	image {
            function        = BOX
            recolorable     = TRUE
            shadow          = IN
            file            = "extraA_box.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            file            = "extraB_box.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
 image {
            function        = OPTION
            recolorable     = TRUE
            shadow          = OUT
            overlay_file    = "option_out.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }
        image {
            function        = OPTION
            recolorable     = TRUE
            shadow          = IN
            overlay_file    = "option_in.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

image {
            function        = CHECK
            recolorable     = TRUE
            shadow          = OUT
            overlay_file    = "check_out.png" 
            overlay_stretch = FALSE
        }
        image {
            function        = CHECK
            recolorable     = TRUE
            shadow          = IN
            overlay_file    = "check_in.png" 
            overlay_stretch = FALSE
        }
	
  image {
            function        = HANDLE
            recolorable     = TRUE
            file            = "handle_bar.png"
            border          = { 10, 5, 5, 10 }
            stretch         = TRUE
            overlay_file    = "handle_vert_thumb.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
            orientation     = VERTICAL
        }
    image 
      {
        function        = FOCUS
	recolorable     = TRUE
	overlay_file    = "blank.png"
	overlay_border  = { 0,0,0,0 }
	overlay_stretch = TRUE
      }

### These are the arrows used in scrollbar handles, drop-down menu's etc.
   image
     {
        function        = ARROW
	recolorable     = TRUE
	state           = NORMAL
	file            = "arrow_up_normal.svg"
	stretch         = TRUE
	arrow_direction = UP
      }
	   
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = PRELIGHT
	file            = "arrow_up_normal.svg"
	stretch         = TRUE
	arrow_direction = UP
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
        shadow          = IN
	file            = "arrow_up_clicked.svg"
	stretch         = TRUE
	arrow_direction = UP
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = INSENSITIVE
	file            = "arrow_up_normal.svg"
	stretch         = TRUE
	arrow_direction = UP
      }

    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = NORMAL
	file            = "arrow_down_normal.svg"
	stretch         = TRUE
	arrow_direction = DOWN
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = PRELIGHT
	file            = "arrow_down_normal.svg"
	stretch         = TRUE
	arrow_direction = DOWN
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
        shadow          = IN
	file            = "arrow_down_clicked.svg"
	stretch         = TRUE
	arrow_direction = DOWN
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state		= INSENSITIVE
	file            = "arrow_down_normal.svg"
	stretch         = TRUE
	arrow_direction = DOWN
      }

    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = NORMAL
	file            = "arrow_left_normal.svg"
	stretch         = TRUE
	arrow_direction = LEFT
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = PRELIGHT
	file            = "arrow_left_normal.svg"
	stretch         = TRUE
	arrow_direction = LEFT
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
        shadow          = IN
	file            = "arrow_left_clicked.svg"
	stretch         = TRUE
	arrow_direction = LEFT
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = INSENSITIVE
	file            = "arrow_left_normal.svg"
	stretch         = TRUE
	arrow_direction = LEFT
      }

    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = NORMAL
	file            = "arrow_right_normal.svg"
	stretch         = TRUE
	arrow_direction = RIGHT
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = PRELIGHT
	file            = "arrow_right_normal.svg"
	stretch         = TRUE
	arrow_direction = RIGHT
      }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
        shadow          = IN
	file            = "arrow_right_clicked.svg"
	stretch         = TRUE
	arrow_direction = RIGHT
      }
	image {
            function        = HLINE
            recolorable     = TRUE
            file            = "horizontal_line.png"
            border          = { 0, 0, 1, 1 }
            stretch         = TRUE
        }
        image {
            function        = VLINE
            recolorable     = TRUE
            file            = "vertical_line.png"
            border          = { 1, 1, 0, 0 }
            stretch         = TRUE
        }
image {
            function        = FLAT_BOX
            recolorable     = TRUE
            state           = INSENSITIVE
            detail          = "entry_bg"
            file            = "entry_bg.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            detail          = "entry_bg"
            file            = "entry_bg.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
    image 
      {
        function        = ARROW
	recolorable     = TRUE
	state           = INSENSITIVE
	file            = "arrow_right_normal.svg"
	stretch         = TRUE
	arrow_direction = RIGHT
      }
    image {
            function        = SHADOW
            recolorable     = TRUE
            shadow          = IN
            file            = "shadow_in.png"
            border          = { 1, 1, 1, 1 }
            stretch         = TRUE
        }
        image {
            function        = SHADOW
            recolorable     = TRUE
            shadow          = OUT
            file            = "shadow_out.png"
            border          = { 1, 1, 1, 1 }
            stretch         = TRUE
        }
        image {
            function        = SHADOW
            recolorable     = TRUE
            shadow          = ETCHED_IN
            file            = "etched.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = SHADOW
            recolorable     = TRUE
            shadow          = ETCHED_OUT
            file            = "etched.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
   }
}



# common default
widget_class "*" style "default"
# Many themes engines use class "GtkWidget" style "default"
# instead. This is broken.

style "window" 
{
  engine "pixmap" {
    image 
      {
	function        = FLAT_BOX
	recolorable     = TRUE
	file            = "background.png"
	stretch         = FALSE
      }
  }
}

class "GtkWindow" style "window"

###########################################
# Buttons
###########################################
#

style "CheckRadioButton" {
    engine "pixmap" {
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "menu_hi-light.png"
            border          = { 10, 10, 10, 10 }
            stretch         = TRUE
        }
    }
}

class "*RadioButton*" style "CheckRadioButton"
class "*CheckButton*" style "CheckRadioButton"

#
###########################################

###########################################
#

 style "ToggleButton" {
    engine "pixmap" {
        image {
            function        = BOX
            recolorable     = TRUE
            shadow          = IN
            file            = "toggle_clicked.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            shadow          = OUT
            file            = "toggle_default.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
    }
 }
class "*ToggleButton*" style "ToggleButton"

#
###########################################

###########################################
#

style "Button" {
    bg[NORMAL] = "#ffffff"
    
    engine "pixmap" {
        image {
            function        = BOX
            recolorable     = TRUE
            state           = NORMAL
            detail          = "buttondefault"
            shadow          = IN 
            file            = "clear.png"
            border          = { 0, 0, 0, 0 }
            stretch         = FALSE 
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = NORMAL
            shadow          = IN 
            file            = "button_normal_in.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = NORMAL
            shadow          = OUT
            file            = "button_normal_out.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = INSENSITIVE 
            shadow          = IN
            file            = "button_insensitive_in.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = INSENSITIVE
            shadow          = OUT
            file            = "button_insensitive_out.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = PRELIGHT 
            shadow          = OUT
            file            = "button_prelight_out.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = SELECTED 
            shadow          = IN
            file            = "button_selected_in.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = ACTIVE 
            shadow          = IN
            file            = "button_active_in.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
    }
}
class "*Button*" style "Button"

#
###########################################

###########################################
# Notebooks
###########################################
#

style "Notebook" {

    engine "pixmap" {
        image {
            function        = EXTENSION
            recolorable     = TRUE
            state           = ACTIVE
            file            = "notebook_active_bottom.png"
            border          = { 10, 10, 10, 10 }
            stretch         = TRUE
            gap_side        = BOTTOM
        }
        image {
            function        = EXTENSION
            recolorable     = TRUE
            state           = ACTIVE
            file            = "notebook_active_top.png"
            border          = { 10, 10, 10, 10 }
            stretch         = TRUE
            gap_side        = TOP
        }

        image {
            function        = EXTENSION
            recolorable     = TRUE
            state           = ACTIVE
            file            = "extension_active_right.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            gap_side        = RIGHT
        }
        image {
             function        = EXTENSION
             recolorable     = TRUE
             state           = ACTIVE
             file            = "extension_active_left.png"
             border          = { 2, 2, 2, 2 }
             stretch         = TRUE
             gap_side        = LEFT
        }

        image {
            function        = EXTENSION
            recolorable     = TRUE
            file            = "notebook_bottom.png"
            border          = { 10, 10, 10, 10 }
            stretch         = TRUE
            gap_side        = BOTTOM
        }
        image {
            function        = EXTENSION
            recolorable     = TRUE
            file            = "notebook_top.png"
            border          = { 10, 10, 10, 10 }
            stretch         = TRUE
            gap_side        = TOP
        }
        image {
            function        = EXTENSION
            recolorable     = TRUE
            file            = "extension_right.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            gap_side        = RIGHT
        }
        image {
            function        = EXTENSION
            recolorable     = TRUE
            file            = "extension_left.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            gap_side        = LEFT
        }
        
        ############################################
        # How to draw boxes with a gap on on side
        # (ie the page of a notebook)
        ############################################

        image {
            function        = BOX_GAP
            recolorable     = TRUE
            file            = "box_gap_top.png"
            border          = { 1, 1, 2, 1 }
            stretch         = TRUE 
            gap_file        = "box_gap_top_focus.png"
            gap_border      = { 1, 1, 0, 0 }
            gap_start_file  = "box_gap_top_start.png"
            gap_start_border= { 0, 0, 0, 1 }
            gap_end_file    = "box_gap_top_end.png"
            gap_end_border  = { 0, 0, 0, 1 }
            gap_side        = TOP
        }
        image {
            function        = BOX_GAP
            recolorable     = TRUE
            file            = "box_gap_bottom.png"
            border          = { 1, 1, 1, 2 }
            stretch         = TRUE
            gap_file        = "box_gap_bottom_focus.png"
            gap_border      = { 1, 1, 0, 0 }
            gap_start_file  = "box_gap_bottom_start.png"
            gap_start_border= { 0, 0, 1, 0 }
            gap_end_file    = "box_gap_bottom_end.png"
            gap_end_border  = { 0, 0, 1, 0 }
            gap_side        = BOTTOM
        }
        image {
            function        = BOX_GAP
            recolorable     = TRUE
            file            = "box_gap_left.png"
            border          = { 2, 1, 1, 1 }
            stretch         = TRUE
            gap_file        = "box_gap_left_focus.png"
            gap_border      = { 0, 0, 1, 1 }
            gap_start_file  = "box_gap_left_start.png"
            gap_start_border= { 0, 1, 0, 0 }
            gap_end_file    = "box_gap_left_end.png"
            gap_end_border  = { 0, 1, 0, 0 }
            gap_side        = LEFT
        }
        image {
            function        = BOX_GAP
            recolorable     = TRUE
            file            = "box_gap_right.png"
            border          = { 1, 2, 1, 1 }
            stretch         = TRUE
            gap_file        = "box_gap_right_focus.png"
            gap_border      = { 0, 0, 1, 1 }
            gap_start_file  = "box_gap_right_start.png"
            gap_start_border= { 1, 0, 0, 0 }
            gap_end_file    = "box_gap_right_end.png"
            gap_end_border  = { 1, 0, 0, 0 }
            gap_side        = RIGHT
        }

        ############################################
        # How to draw the box of a notebook when it 
        # is not attached to a tab
        ############################################

        image {
            function        = BOX
            recolorable     = TRUE
            file            = "notebook_unattached.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            gap_side        = TOP
        }
    }
}

class "*Notebook*" style "Notebook"

#
###########################################

###########################################
#

 style "MenuItem" {
    engine "pixmap" {
        image {
            function        = BOX
            recolorable     = TRUE
            file            = "menu_hi-light.png"
            border          = { 10, 10, 10, 10 }
            stretch         = TRUE
        }
    }
}

class "*MenuItem*" style "MenuItem"

#
###########################################

###########################################
#

 style "OptionMenu" {
    #This pixmap will be used to represent the body of the 
    #option menu(much like a combo box, but a menu drop 
    #down with various options from which to choose).
    #it is important to note(as stated below) that this should not
    #include the handle portion of the box, which is often two arrows
    #or a box.
    engine "pixmap" {
      #in the pixmap engine each theme part is represented by
      #a subsection  representing how and where that pixmap 
      #should be used, and what file to use etc...
        image {
         #the funtion variable defines what this image
         #will be used for, which part of an object,
         #the valid values are as follows:
         #HLINE, VLINE, SHADOW, POLYGON, ARROW, DIAMOND,        
         #OVAL, STRING, BOX, FLAT_BOX, CHECK, OPTION, CROSS,	     
         #RAMP, TAB, SHADOW_GAP, BOX_GAP, EXTENSION, FOCUS,	
         #SLIDER, ENTRY, HANDLE, STEPPER
            function        = BOX
            recolorable     = TRUE
            file            = "menubar_option.png"
            border          = { 12, 18, 9, 10 }
            stretch         = TRUE
        }
    }
    #In gtk draw/paint tab is something of a misnomer,
    #as in reality what it draws is the arrows or box handle 
    #in a drop down option menu. Thus to prevent double drawing
    #of this so called TAB in a pixmap theme, the arrows, or whatever 
    #is chosen to rpresent this handle must be its own png or svg, and
    # should not be part of the BOX png.
  engine "pixmap" {
        image {
            function        = TAB
            recolorable     = FALSE
            file            = ""
            border          = { 12, 18, 9, 10 }
            stretch         = FALSE
        }
    }
}
class "*OptionMenu*" style "OptionMenu"
widget_class "*OptionMenu*" style "OptionMenu"

#
###########################################

###########################################
#

style "ProgressBar" {
    engine "pixmap" {
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "bar"
            file            = "progressbar.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "trough.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
    }
}

class "*ProgressBar*" style "ProgressBar"
widget_class "*ProgressBar*" style "ProgressBar"

#
###########################################

###########################################
#

style "Ruler" {     
    engine "pixmap" {
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "vruler"
            file            = "vertical_ruler.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image { 
            function        = BOX
            recolorable     = TRUE
            detail          = "hruler"
            file            = "horzontal_ruler.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
    }   
}
class "*Ruler*" style "Ruler"

#
###########################################

###########################################
#

 style "Item" {     
    engine "pixmap" {
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "item_insensitive.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
        image { 
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "item.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
    } 
}
class "*TreeItem*" style "Item"
class "*ListItem*" style "Item"

#
###########################################

###########################################
#

style "Window" {   
    engine "pixmap" {
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "window_background.png"
            stretch         = FALSE
        }
    }
}

class "*Window*" style "Window"

#
###########################################

###########################################
#

 style "Curve" {
    engine "pixmap" { 
        image {
            function        = FLAT_BOX
            recolorable     = TRUE
            detail          = "curve_bg"
            file            = "curve_background.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
    } 
}     
  
class "*Curve*" style "Curve"
