Added support for the 'use alternate font metrics' flag.
[redact.git] / lib / redact / part.rb
index 66bc43918ae300ebf3f5794186fce86b4c3f9f83..0fd4139eeca2234f8525ccbe240c3df9ffc4d93e 100644 (file)
@@ -1,6 +1,4 @@
 #--
-# $Id: part.rb 77 2006-07-28 17:30:51Z tilman $
-#
 # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
 #
 # Permission is hereby granted, free of charge, to any person obtaining
@@ -138,6 +136,11 @@ module Redact
 
                        @type = TYPE_TEXT
                        @effect = :none
+                       @use_alternate_font_metrics = false
+               end
+
+               def use_alternate_font_metrics=(b)
+                       @use_alternate_font_metrics = (b == true)
                end
 
                protected
@@ -159,7 +162,9 @@ module Redact
                                raise(RedactError, "invalid effect value - #{@effect}")
                        end
 
-                       super.merge!({"effect" => [effect, :char]})
+                       super.merge!(
+                       {"effect" => [effect, :char],
+                        "use_alternate_font_metrics" => [@use_alternate_font_metrics, :char]})
                end
        end
 
@@ -562,6 +567,7 @@ module Redact
                        @font_size = 0
                        @fit = [false, false]
                        @text_min = [false, false]
+                       @text_max = [false, false]
                        @text_align = [0.5, 0.5]
                        @text_id_source = -1
                        @text_id_text_source = -1
@@ -587,6 +593,10 @@ module Redact
                        @text_min = [x, y]
                end
 
+               def set_text_max(x = false, y = false)
+                       @text_max = [x, y]
+               end
+
                def set_text_align(x = 0.5, y = 0.5)
                        @text_align = [x, y]
                end
@@ -637,6 +647,8 @@ module Redact
                         "text.fit_y" => [@fit[1]],
                         "text.min_x" => [@text_min[0]],
                         "text.min_y" => [@text_min[1]],
+                        "text.max_x" => [@text_max[0]],
+                        "text.max_y" => [@text_max[1]],
                         "text.align.x" => [@text_align[0], :double],
                         "text.align.y" => [@text_align[1], :double],
                         "text.id_source" => [@text_id_source],