rmthemegen 0.0.23 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,145 @@
1
+ # :title: Color -- Colour Management with Ruby
2
+ # :main: README.txt
3
+
4
+ #--
5
+ # Color
6
+ # Colour management with Ruby
7
+ # http://rubyforge.org/projects/color
8
+ # Version 1.4.1
9
+ #
10
+ # Licensed under a MIT-style licence. See Licence.txt in the main
11
+ # distribution for full licensing information.
12
+ #
13
+ # Copyright (c) 2005 - 2010 Austin Ziegler and Matt Lyon
14
+ #++
15
+
16
+ # = Colour Management with Ruby
17
+ module Color
18
+ COLOR_VERSION = '1.4.1'
19
+
20
+ class RGB; end
21
+ class CMYK; end
22
+ class GrayScale; end
23
+ class YIQ; end
24
+
25
+ # The maximum "resolution" for colour math; if any value is less than or
26
+ # equal to this value, it is treated as zero.
27
+ COLOR_EPSILON = 1e-5
28
+ # The tolerance for comparing the components of two colours. In general,
29
+ # colours are considered equal if all of their components are within this
30
+ # tolerance value of each other.
31
+ COLOR_TOLERANCE = 1e-4
32
+
33
+ class << self
34
+ # Returns +true+ if the value is less than COLOR_EPSILON.
35
+ def near_zero?(value)
36
+ (value.abs <= COLOR_EPSILON)
37
+ end
38
+
39
+ # Returns +true+ if the value is within COLOR_EPSILON of zero or less than
40
+ # zero.
41
+ def near_zero_or_less?(value)
42
+ (value < 0.0 or near_zero?(value))
43
+ end
44
+
45
+ # Returns +true+ if the value is within COLOR_EPSILON of one.
46
+ def near_one?(value)
47
+ near_zero?(value - 1.0)
48
+ end
49
+
50
+ # Returns +true+ if the value is within COLOR_EPSILON of one or more than
51
+ # one.
52
+ def near_one_or_more?(value)
53
+ (value > 1.0 or near_one?(value))
54
+ end
55
+
56
+ # Normalizes the value to the range (0.0) .. (1.0).
57
+ def normalize(value)
58
+ if near_zero_or_less? value
59
+ 0.0
60
+ elsif near_one_or_more? value
61
+ 1.0
62
+ else
63
+ value
64
+ end
65
+ end
66
+ alias normalize_fractional normalize
67
+
68
+ def normalize_to_range(value, range)
69
+ range = (range.end..range.begin) if (range.end < range.begin)
70
+
71
+ if value <= range.begin
72
+ range.begin
73
+ elsif value >= range.end
74
+ range.end
75
+ else
76
+ value
77
+ end
78
+ end
79
+
80
+ # Normalize the value to the range (0) .. (255).
81
+ def normalize_byte(value)
82
+ normalize_to_range(value, 0..255).to_i
83
+ end
84
+ alias normalize_8bit normalize_byte
85
+
86
+ # Normalize the value to the range (0) .. (65535).
87
+ def normalize_word(value)
88
+ normalize_to_range(value, 0..65535).to_i
89
+ end
90
+ alias normalize_16bit normalize_word
91
+ end
92
+ end
93
+
94
+ require File.dirname(__FILE__)+'/color/rgb'
95
+ require File.dirname(__FILE__)+'/color/cmyk'
96
+ require File.dirname(__FILE__)+'/color/grayscale'
97
+ require File.dirname(__FILE__)+'/color/hsl'
98
+ require File.dirname(__FILE__)+'/color/yiq'
99
+ require File.dirname(__FILE__)+'/color/rgb/metallic'
100
+
101
+ module Color
102
+ def self.const_missing(name) #:nodoc:
103
+ case name
104
+ when "VERSION", :VERSION, "COLOR_TOOLS_VERSION", :COLOR_TOOLS_VERSION
105
+ warn "Color::#{name} has been deprecated. Use Color::COLOR_VERSION instead."
106
+ Color::COLOR_VERSION
107
+ else
108
+ if Color::RGB.const_defined?(name)
109
+ warn "Color::#{name} has been deprecated. Use Color::RGB::#{name} instead."
110
+ Color::RGB.const_get(name)
111
+ else
112
+ super
113
+ end
114
+ end
115
+ end
116
+
117
+ # Provides a thin veneer over the Color module to make it seem like this
118
+ # is Color 0.1.0 (a class) and not Color 1.4.1 (a module). This
119
+ # "constructor" will be removed in the future.
120
+ #
121
+ # mode = :hsl:: +values+ must be an array of [ hue deg, sat %, lum % ].
122
+ # A Color::HSL object will be created.
123
+ # mode = :rgb:: +values+ will either be an HTML-style colour string or
124
+ # an array of [ red, green, blue ] (range 0 .. 255). A
125
+ # Color::RGB object will be created.
126
+ # mode = :cmyk:: +values+ must be an array of [ cyan %, magenta %, yellow
127
+ # %, black % ]. A Color::CMYK object will be created.
128
+ def self.new(values, mode = :rgb)
129
+ warn "Color.new has been deprecated. Use Color::#{mode.to_s.upcase}.new instead."
130
+ color = case mode
131
+ when :hsl
132
+ Color::HSL.new(*values)
133
+ when :rgb
134
+ values = [ values ].flatten
135
+ if values.size == 1
136
+ Color::RGB.from_html(*values)
137
+ else
138
+ Color::RGB.new(*values)
139
+ end
140
+ when :cmyk
141
+ Color::CMYK.new(*values)
142
+ end
143
+ color.to_hsl
144
+ end
145
+ end
@@ -1,8 +1,25 @@
1
- require 'rubygems'
2
- require 'xmlsimple'
3
- require 'color'
1
+ #require 'rubygems'
2
+ #require 'xmlsimple'
3
+ #require 'color'
4
+
5
+ #doing it with local files since these are stable gems and I want geany_fix.rb to function without gem dependencies.
6
+
7
+ #***********************************************************************
8
+ # geany_fix.rb - a utility to create a new, random color theme for the
9
+ # geany editor. http://www.geany.org/
10
+ #
11
+ # Released under an MIT-style license, see license.txt for details
12
+ #
13
+ # copyright (c) David Heitzman 2011
14
+ #
15
+ #***********************************************************************
16
+
17
+ # geany_fix.rb uses a local copy of gems color and xml-simple, in order
18
+ # ease use as a stand-alone utility.
19
+
4
20
  require File.dirname(__FILE__)+"/token_list"
5
- require File.dirname(__FILE__)+'/rgb_contrast_methods'
21
+ require File.dirname(__FILE__)+'/color/color'
22
+ require File.dirname(__FILE__)+'/xmlsimple.rb'
6
23
 
7
24
  module RMThemeGen
8
25
  class GeanyFixer < RMThemeParent
@@ -15,7 +32,7 @@ module RMThemeGen
15
32
  @iterations = ARGV[0].to_s.to_i
16
33
 
17
34
  puts "geany_fix - puts a new (random) color theme into your geany directory"
18
- puts " David Heitzman 2011 "
35
+ puts " copyright (c) David Heitzman 2011 "
19
36
  puts " Note: if you want to put back your old Geany colors, go to ~/.config/geany/filedefs/ and"
20
37
  puts " copy the corresponding _old_xxx file back onto filetypes.xyz, eg. filetypes.html, etc. "
21
38
  puts " Restart geany to see new colors "
@@ -1,6 +1,7 @@
1
- require 'color'
1
+ #require 'color'
2
2
 
3
- class Color::RGB
3
+ module Color
4
+ class RGB
4
5
 
5
6
  # Outputs how much contrast this color has with another rgb color. Computes the same
6
7
  # regardless of which one is considered foreground.
@@ -93,5 +94,5 @@ class Color::RGB
93
94
  return y
94
95
  end
95
96
 
96
- end
97
-
97
+ end #class RGB
98
+ end #module Color
@@ -1,3 +1,3 @@
1
1
  module Rmthemegen
2
- VERSION = "0.0.23"
2
+ VERSION = "0.0.25"
3
3
  end