JX Application Framework
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
JXImageMask Class Reference

#include <JXImageMask.h>

Inheritance diagram for JXImageMask:
[legend]

Public Member Functions

 JXImageMask (JXDisplay *display, const JCoordinate width, const JCoordinate height, const bool filled)
 
 JXImageMask (JXDisplay *display, const JConstBitmap &bitmap)
 
 JXImageMask (JXDisplay *display, Drawable source)
 
 JXImageMask (JXDisplay *display, Drawable source, const JRect &rect)
 
 JXImageMask (const JXImage &image, const JColorID color)
 
 JXImageMask (const JXImageMask &source)
 
 JXImageMask (const JXImageMask &source, const JRect &rect)
 
 ~JXImageMask () override
 
JError WriteXBM (const JString &fileName, const JPoint &hotSpot=JPoint(-1,-1)) const
 
JXImageCopy () const override
 
bool ContainsPixel (const JCoordinate x, const JCoordinate y) const override
 
void AddPixel (const JCoordinate x, const JCoordinate y) override
 
void RemovePixel (const JCoordinate x, const JCoordinate y) override
 
- Public Member Functions inherited from JXImage
 JXImage (JXDisplay *display, const JCoordinate width, const JCoordinate height, const JColorID initColor=kJXTransparentColor, const JSize depth=0, const State initState=kRemoteStorage)
 
 JXImage (JXDisplay *display, Drawable source)
 
 JXImage (JXDisplay *display, Drawable source, const JRect &rect)
 
 JXImage (JXDisplay *display, const JConstBitmap &bitmap, const JColorID foreColor=kJXTransparentColor, const JColorID backColor=kJXTransparentColor, const JSize depth=0)
 
 JXImage (JXDisplay *display, const JXPM &data)
 
 JXImage (const JXImage &source)
 
 JXImage (const JXImage &source, const JRect &rect)
 
 ~JXImage () override
 
JError WriteXPM (const JString &fileName) const
 
JXDisplayGetDisplay () const
 
JSize GetDepth () const
 
bool HasMask () const
 
bool GetMask (JImageMask **mask) const override
 
bool GetMask (JXImageMask **mask) const
 
void SetMask (JXImageMask *mask)
 
void ClearMask ()
 
void Draw (const Drawable drawable, JXGC *gc, const JRect &srcRect, const JRect &destRect) const
 
JXImagePainterCreatePainter ()
 
JColorID GetColor (const JCoordinate x, const JCoordinate y) const override
 
void SetColor (const JCoordinate x, const JCoordinate y, const JColorID color) override
 
State GetDefaultState () const
 
void SetDefaultState (const State state)
 
void ConvertToDefaultState ()
 
State GetCurrentState () const
 
void ConvertToLocalStorage ()
 
void ConvertToRemoteStorage ()
 
Pixmap CreatePixmap () const
 
XImage * CreateXImage () const
 
unsigned long GetSystemColor (const JColorID color) const override
 
unsigned long GetSystemColor (const JCoordinate x, const JCoordinate y) const override
 
- Public Member Functions inherited from JImage
 JImage (const JCoordinate width, const JCoordinate height, JColorManager *colorManager)
 
virtual ~JImage ()
 
JCoordinate GetWidth () const
 
JCoordinate GetHeight () const
 
JRect GetBounds () const
 
JColorManagerGetColorManager () const
 
JError WriteGIF (const JString &fileName, const bool compressColorsToFit, const bool interlace=false) const
 
JError WritePNG (const JString &fileName, const bool useTrueColor=true, const bool compressColorsToFit=false, const bool interlace=false) const
 
JError WriteJPEG (const JString &fileName, const bool interlace=false, const int quality=-1) const
 
- Public Member Functions inherited from JBroadcaster
 JBroadcaster ()
 
virtual ~JBroadcaster ()
 
JBroadcasteroperator= (const JBroadcaster &source)
 
bool HasSenders () const
 
JSize GetSenderCount () const
 
bool HasRecipients () const
 
JSize GetRecipientCount () const
 
virtual JString ToString () const
 
template<class T >
void ListenTo (const JBroadcaster *sender, const std::function< void(const T &)> &f)
 
- Public Member Functions inherited from JImageMask
 JImageMask ()
 
virtual ~JImageMask ()
 

Static Public Member Functions

static JError CreateFromXBM (JXDisplay *display, const JString &fileName, JXImageMask **mask)
 
static unsigned long ColorToBit (const JColorID color)
 
static JColorID BitToColor (const unsigned long bit)
 
- Static Public Member Functions inherited from JXImage
static JError CreateFromFile (JXDisplay *display, const JString &fileName, JXImage **image)
 
static JError CreateFromGIF (JXDisplay *display, const JString &fileName, JXImage **image)
 
static JError CreateFromPNG (JXDisplay *display, const JString &fileName, JXImage **image)
 
static JError CreateFromJPEG (JXDisplay *display, const JString &fileName, JXImage **image)
 
static JError CreateFromXPM (JXDisplay *display, const JXPM &data, JXImage **image)
 
static JError CreateFromXPM (JXDisplay *display, const JString &fileName, JXImage **image)
 
- Static Public Member Functions inherited from JImage
static FileType GetFileType (const JString &fileName)
 

Static Public Attributes

static const JColorID kPixelOff = kJXTransparentColor
 
- Static Public Attributes inherited from JImage
static const JUtf8BytekUnknownFileType = "UnknownFileType::JImage"
 
static const JUtf8BytekFileIsNotGIF = "FileIsNotGIF::JImage"
 
static const JUtf8BytekGIFNotAvailable = "GIFNotAvailable::JImage"
 
static const JUtf8BytekFileIsNotPNG = "FileIsNotPNG::JImage"
 
static const JUtf8BytekPNGNotAvailable = "PNGNotAvailable::JImage"
 
static const JUtf8BytekFileIsNotJPEG = "FileIsNotJPEG::JImage"
 
static const JUtf8BytekJPEGNotAvailable = "JPEGNotAvailable::JImage"
 
static const JUtf8BytekFileIsNotXPM = "FileIsNotXPM::JImage"
 
static const JUtf8BytekXPMNotAvailable = "XPMNotAvailable::JImage"
 
static const JUtf8BytekFileIsNotXBM = "FileIsNotXBM::JImage"
 
static const JUtf8BytekTooManyColors = "TooManyColors::JImage"
 

Friends

class JXWindowIcon
 

Additional Inherited Members

- Public Types inherited from JXImage
enum  State {
  kLocalStorage ,
  kRemoteStorage
}
 
- Public Types inherited from JImage
enum  FileType {
  kUnknownType ,
  kGIFType ,
  kPNGType ,
  kJPEGType ,
  kXPMType ,
  kXBMType
}
 
- Protected Member Functions inherited from JXImage
XImage * GetImage () const
 
void ConvertToImage () const
 
Pixmap GetPixmap () const
 
void ConvertToPixmap () const
 
const JXGCGetGC () const
 
void ForcePrivateGC ()
 
void SetImageData (const JSize colorCount, const JColorID *colorTable, unsigned short **imageData, const bool hasMask, const unsigned long maskColor) override
 
void PrepareForImageData () override
 
void ImageDataFinished () override
 
 JXImage (const Pixmap bitmap, const JCoordinate width, const JCoordinate height, JXDisplay *display)
 
- Protected Member Functions inherited from JImage
 JImage (const JImage &source)
 
void SetDimensions (const JCoordinate width, const JCoordinate height)
 
JError ReadGIF (const JString &fileName)
 
JError ReadPNG (const JString &fileName)
 
JError ReadJPEG (const JString &fileName)
 
void ReadFromJXPM (const JXPM &pixmap)
 
- Protected Member Functions inherited from JBroadcaster
 JBroadcaster (const JBroadcaster &source)
 
void ListenTo (const JBroadcaster *sender)
 
void StopListening (const JBroadcaster *sender)
 
void ClearWhenGoingAway (const JBroadcaster *sender, void *pointerToMember)
 
void StopListening (const JBroadcaster *sender, const std::type_info &messageType)
 
template<class T >
void Send (JBroadcaster *recipient, const T &message)
 
template<class T >
void Broadcast (const T &message)
 
virtual void Receive (JBroadcaster *sender, const Message &message)
 
void SendWithFeedback (JBroadcaster *recipient, Message *message)
 
void BroadcastWithFeedback (Message *message)
 
virtual void ReceiveWithFeedback (JBroadcaster *sender, Message *message)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 
- Protected Member Functions inherited from JImageMask
 JImageMask (const JImageMask &source)
 
void CalcMask (const JImage &image, const JColorID color)
 
- Static Protected Member Functions inherited from JImage
static JError AllocateImageData (const JCoordinate w, const JCoordinate h, unsigned short **data, unsigned short ***cols)
 

Detailed Description

Class representing a mask for an offscreen drawable.

Constructor & Destructor Documentation

◆ JXImageMask() [1/7]

JXImageMask::JXImageMask ( JXDisplay display,
const JCoordinate  width,
const JCoordinate  height,
const bool  filled 
)

◆ JXImageMask() [2/7]

JXImageMask::JXImageMask ( JXDisplay display,
const JConstBitmap bitmap 
)

◆ JXImageMask() [3/7]

JXImageMask::JXImageMask ( JXDisplay display,
Drawable  source 
)

◆ JXImageMask() [4/7]

JXImageMask::JXImageMask ( JXDisplay display,
Drawable  source,
const JRect rect 
)

◆ JXImageMask() [5/7]

JXImageMask::JXImageMask ( const JXImage image,
const JColorID  color 
)

Calculate a mask to avoid drawing the specified color.

◆ JXImageMask() [6/7]

JXImageMask::JXImageMask ( const JXImageMask source)

◆ JXImageMask() [7/7]

JXImageMask::JXImageMask ( const JXImageMask source,
const JRect rect 
)

◆ ~JXImageMask()

JXImageMask::~JXImageMask ( )
override

Member Function Documentation

◆ AddPixel()

void JXImageMask::AddPixel ( const JCoordinate  x,
const JCoordinate  y 
)
overridevirtual

Implements JImageMask.

◆ BitToColor()

JColorID JXImageMask::BitToColor ( const unsigned long  bit)
static

Convert the given bit from an X bitmap to a JColorID.

◆ ColorToBit()

unsigned long JXImageMask::ColorToBit ( const JColorID  color)
inlinestatic

Convert the given JColorID to a bit for use in an X bitmap.

Any color other than kPixelOff converts to "pixel on". This way, the drawing code that produces an image can be reused with a JXImagePainter attached to the JXImageMask to generate a mask.

◆ ContainsPixel()

bool JXImageMask::ContainsPixel ( const JCoordinate  x,
const JCoordinate  y 
) const
overridevirtual

Implements JImageMask.

◆ Copy()

JXImage * JXImageMask::Copy ( ) const
overridevirtual

We can't support operator= because there are derived classes.

Reimplemented from JXImage.

◆ CreateFromXBM()

JError JXImageMask::CreateFromXBM ( JXDisplay display,
const JString fileName,
JXImageMask **  mask 
)
static

Returns an error if the file does not contain an XBM.

◆ RemovePixel()

void JXImageMask::RemovePixel ( const JCoordinate  x,
const JCoordinate  y 
)
overridevirtual

Implements JImageMask.

◆ WriteXBM()

JError JXImageMask::WriteXBM ( const JString fileName,
const JPoint hotSpot = JPoint(-1,-1) 
) const

Returns an error if we are unable to create the specified file.

Friends And Related Symbol Documentation

◆ JXWindowIcon

friend class JXWindowIcon
friend

Member Data Documentation

◆ kPixelOff

const JColorID JXImageMask::kPixelOff = kJXTransparentColor
static

The documentation for this class was generated from the following files: