Skip to content
Snippets Groups Projects
FXIconSource.rb 4.22 KiB
Newer Older
  • Learn to ignore specific revisions
  • module Fox
      #
      # An icon source is an object that loads an icon of any type.
      # It exists purely for convenience, to make loading icons
      # simpler by concentrating the knowledge of the supported
      # icon formats in a single place.
      # Needless to say, this class is subclassable, allowing users
      # to add additional icon types and make them available to
      # all widgets which deal with icons.
      # Note, the icons are loaded, but _not_ created (realized) yet;
      # this allows users to manipulate the pixel data prior to
      # realizing the icons.
      #
      class FXIconSource < FXObject
        #
        # Construct an icon source, given a reference to the application object.
        #
        def initialize(app) # :yields: theIconSource
        end
        
        #
        # Load an icon from the file _filename_. By default, the file extension is
        # stripped and used as the icon _type_; if an explicit icon type is forced,
        # then that type is used and the extension is ignored.
        # For example, loadIcon("icon", "gif") will try to load a CompuServe GIF
        # file, since the filename does not give any clue as to the type of the
        # icon.
        # Returns a reference to the icon.
        #
        def loadIconFile(filename, type=nil); end
    
        #
        # Load an icon of a given type (e.g. "gif") from reswrapped data.
        # Returns +nil+ if there's some error loading the icon. (The optional
        # _type_ parameter is actually mandatory at the time of this writing; future
        # versions will attempt to inspect the first few bytes of the stream
        # to divine the icon format if the parameter is omitted).
        # Returns a reference to the icon.
        #
        def loadIconData(pixels, type=nil); end
    
        #
        # Load an icon of a given type (e.g. "gif") from an already open stream.
        # Returns +nil+ if there's some error loading the icon. (The optional
        # _type_ parameter is actually mandatory at the time of this writing; future
        # versions will attempt to inspect the first few bytes of the stream
        # to divine the icon format if the parameter is omitted).
        # Returns a reference to the icon.
        #
        def loadIconStream(store, type=nil); end
    
        #
        # Load an image from the file filename. By default, the file extension is
        # stripped and used as the image type; if an explicit image type is forced,
        # then that type is used and the extension is ignored.
        # For example, loadImage("image","gif") will try to load a CompuServe GIF
        # file, since the filename does not give any clue as to the type of the
        # image.
        #
        def loadImageFile(filename, type=nil); end
    
        #
        # Load an image of a given type (e.g. "gif") from reswrapped data.
        # Returns +nil+ if there's some error loading the icon. (The optional
        # parameter is actually mandatory at the time of this writing; future
        # versions will attempt to inspect the first few bytes of the stream
        # to divine the icon format if the parameter is omitted).
        #
        def loadImageData(pixels, type=nil); end
      
        #
        # Load an image of a given type (e.g. "gif") from an already open stream.
        # Returns +nil+ if there's some error loading the image. (The optional
        # parameter is actually mandatory at the time of this writing; future
        # versions will attempt to inspect the first few bytes of the stream
        # to divine the image format if the parameter is omitted).
        #
        def loadImageStream(store, type=nil); end
    
        # Load icon and scale it such that its dimensions do not exceed given size
        def loadScaledIconFile(filename, size=32, qual=0, type=nil); end
    
        # Load icon and scale it such that its dimensions do not exceed given size
        def loadScaledIconData(pixels, size=32, qual=0, type=nil); end
    
        # Load icon and scale it such that its dimensions do not exceed given size
        def loadScaledIconStream(store, size=32, qual=0, type=nil); end
    
        # Load image and scale it such that its dimensions do not exceed given size
        def loadScaledImageFile(filename, size=32, qual=0, type=nil); end
    
        # Load image and scale it such that its dimensions do not exceed given size
        def loadScaledImageData(pixels, size=32, qual=0, type=nil); end
    
        # Load image and scale it such that its dimensions do not exceed given size
        def loadScaledImageStream(store, size=32, qual=0, type=nil); end
      end
    end