IceDragon200

Marshal Font Class (Take1)

Dec 3rd, 2011
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.95 KB | None | 0 0
  1. #==============================================================================#  
  2. # ** Font
  3. #==============================================================================#
  4. class Font
  5.  
  6.   #--------------------------------------------------------------------------#
  7.   # * Public Instance Variable(s)
  8.   #--------------------------------------------------------------------------#    
  9.   attr_writer :shadow_color
  10.  
  11.   #--------------------------------------------------------------------------#
  12.   # * new-method :shadow_color
  13.   #--------------------------------------------------------------------------#  
  14.   def shadow_color()
  15.     @shadow_color = Color.new( 0, 0, 0 )
  16.     return @shadow_color
  17.   end
  18.  
  19.   #--------------------------------------------------------------------------#
  20.   # * new-method :_dump
  21.   #--------------------------------------------------------------------------#  
  22.   def _dump( depth )
  23.     str = [Marshal.dump( self.name ), self.size, self.bold ? 1 : 0, self.italic ? 1 : 0, self.shadow ? 1 : 0].pack("AIIII")
  24.     str = [str,
  25.            Marshal.dump( self.color ),
  26.            Marshal.dump( self.shadow_color )
  27.            ].pack("AAA") ; return str
  28.   end
  29.  
  30.   #--------------------------------------------------------------------------#
  31.   # * new-class-method :_load
  32.   #--------------------------------------------------------------------------#
  33.   def self._load( str )
  34.     arra              = str.upack("AA")
  35.     ma                = arra[0] # Main stuff
  36.     settings          = ma.unpack("AIIII")
  37.     font              = self.class.new()
  38.     font.color        = Marshal.load( arra[1] ) # Color Data
  39.     font.shadow_color = Marshal.load( arra[2] ) # Shadow Color Data
  40.     font.name         = Marshal.load(settings[0])
  41.     font.size         = settings[1].to_i
  42.     font.bold         = settings[2].to_i == 1
  43.     font.italic       = settings[3].to_i == 1
  44.     font.shadow       = settings[4].to_i == 1
  45.     return font
  46.   end
  47.  
  48. end
  49.  
Advertisement
Add Comment
Please, Sign In to add comment