GFX Output Device Functions

This set of functions are useful when you have complex projects that uses Select/EndSelect command pairs to select the drawing output. I have written these functions because I wasn't able to handle nested Select/EndSelect calls resulting in incorrect rendering of the final images.

This is particularly true when, for example, you are building a brush using a SelectBrush() command and you call a subroutine that make use of another Select statement: when you return from the subroutines you will find that your previously called SelectBrush() is no more active because your subroutine and its EndSelect has put a reset on the output device.

  • GFX.OutputDevice.EndSelect()
  • GFX.OutputDevice.GetCurrent()
  • GFX.OutputDevice.Select(Object, ID, Mode, Frame, LayerCMode)


GFX.OutputDevice.EndSelect()

result = GFX.OutputDevice.EndSelect()

This function is used to close the current output device and to restore the previous one.

OUTPUT

  • result : TRUE if the command has been executed without errors.


GFX.OutputDevice.GetCurrent()

object = GFX.OutputDevice.GetCurrent()

Returns the currently active output device.

OUTPUT

  • object : The current active output device


GFX.OutputDevice.Select(Object, ID, Mode, Frame, LayerCMode)

result = GFX.OutputDevice.Select(Object, ID, Mode, Frame, LayerCMode)

This function is used to select an output device, this command is needed to handle correctly nested select-endselect pairs.
This makes possible to make nested selections without worries.

INPUT

  • Object : The object to select as oputput device:
    → #BRUSH
    → #ALPHACHANNEL
    → #ANIM
    → #BGPIC
    → #DISPLAY
    → #LAYER
    → #MASK
  • ID : Id of the object we want to select
  • Mode : Mode depending on the object (see Hollywood docs)
  • Frame : Anim frame, when and if needed, or ComboMode
  • LayerCMode : Combo mode used, only for layer objects

OUTPUT

  • result : TRUE if the command has been executed without errors.
hollywoodlibs/gfx/outputdevice.txt · Ultima modifica: 2016/11/18 11:22 da admin
CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0