Free Electron
Public Types | Public Member Functions | List of all members
fe::ext::ImageI Class Referenceabstract

Image and texture handling. More...

#include <ImageI.h>

Inheritance diagram for fe::ext::ImageI:
Inheritance graph
[legend]

Public Types

enum  Format {
  e_none,
  e_colorindex,
  e_rgb,
  e_rgba
}
 

Public Member Functions

virtual I32 createSelect (void)=0
 create an empty image, returning its ID More...
 
virtual I32 loadSelect (String filename)=0
 load an image from file, returning its ID More...
 
virtual I32 interpretSelect (void *data, U32 size)=0
 create an image from raw bytes, returning its ID More...
 
virtual I32 interpretSelect (String a_source)=0
 create an image from text, returning its ID More...
 
virtual BWORD save (String filename)=0
 save the selected image to file More...
 
virtual void select (I32 id)=0
 select an image for further access More...
 
virtual I32 selected (void) const =0
 return the selected image ID More...
 
virtual void unload (I32 id)=0
 remove an image from memory More...
 
virtual void setFormat (ImageI::Format format)=0
 choose a format for the selected image More...
 
virtual ImageI::Format format (void) const =0
 return the format for the selected image More...
 
virtual void resize (U32 width, U32 height, U32 depth)=0
 change the dimensions of the selcted image More...
 
virtual void replaceRegion (U32 x, U32 y, U32 z, U32 width, U32 height, U32 depth, void *data)=0
 replace data in part of the image More...
 
virtual U32 width (void) const =0
 return the X dimension of the image More...
 
virtual U32 height (void) const =0
 return the Y dimension of the image More...
 
virtual U32 depth (void) const =0
 return the Z dimension of the image More...
 
virtual void * raw (void) const =0
 return the raw byte buffer of the image More...
 
virtual I32 serial (void) const =0
 return the change serial number More...
 
virtual U32 regionCount (void) const =0
 
virtual String regionName (U32 a_regionIndex) const =0
 
virtual Box2i regionBox (String a_regionName) const =0
 
virtual String pickRegion (I32 a_x, I32 a_y) const =0
 
- Public Member Functions inherited from fe::Component
const Stringname (void) const
 Return the components chosen name. More...
 
const String verboseName (void) const
 Return the annotated chosen name. More...
 
void setName (const String &name)
 Rename the component to anything you want. More...
 
hp< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (const String &implementation, BWORD quiet=FALSE) const
 Convienience function to registry()->create() More...
 
void disjoin (void)
 Untie component from Hub, if connected. More...
 
String factoryName (void)
 
void setLibrary (sp< Library > spLibrary)
 Store a reference to the library used to instantiate this component. More...
 
sp< Librarylibrary (void)
 Get the library that created the component. More...
 
void setFactoryIndex (I32 a_factoryIndex)
 Set the library's factory index. More...
 
I32 factoryIndex (void)
 Get the library's factory index. More...
 
void setSingleton (BWORD set)
 Specify whether component is a singleton. More...
 
BWORD isSingleton (void)
 Return whether component is a singleton. More...
 
virtual void acquire (void)
 Specialized reference increment. More...
 
virtual void release (void)
 Specialized reference decrement. More...
 
- Public Member Functions inherited from fe::Handled< Component >
const hp< Component > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 

Additional Inherited Members

- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::Handled< Component >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 

Detailed Description

Image and texture handling.

For functions without an id argument, the currently selected image is affected.

Depth refers to 3D images, such as with voxels, Bit planes refer to the magnitude of storage per element.

Member Function Documentation

◆ createSelect()

virtual I32 fe::ext::ImageI::createSelect ( void  )
pure virtual

create an empty image, returning its ID

Implemented in fe::ext::ImageSDL, fe::ext::ImageRaw, fe::ext::ImageOIIO, fe::ext::ImageIL, and fe::ext::ImageCommon.

◆ depth()

virtual U32 fe::ext::ImageI::depth ( void  ) const
pure virtual

return the Z dimension of the image

Implemented in fe::ext::GraphDot, fe::ext::ImageRaw, fe::ext::ImageSDL, fe::ext::ImageIL, and fe::ext::ImageOIIO.

Referenced by fe::ext::ImageIL::setFormat().

◆ format()

virtual ImageI::Format fe::ext::ImageI::format ( void  ) const
pure virtual

return the format for the selected image

Implemented in fe::ext::GraphDot, fe::ext::ImageSDL, fe::ext::ImageIL, fe::ext::ImageOIIO, and fe::ext::ImageRaw.

◆ height()

virtual U32 fe::ext::ImageI::height ( void  ) const
pure virtual

return the Y dimension of the image

Implemented in fe::ext::GraphDot, fe::ext::ImageSDL, fe::ext::ImageRaw, fe::ext::ImageIL, and fe::ext::ImageOIIO.

Referenced by fe::ext::ImageIL::setFormat().

◆ interpretSelect() [1/2]

virtual I32 fe::ext::ImageI::interpretSelect ( void *  data,
U32  size 
)
pure virtual

create an image from raw bytes, returning its ID

Implemented in fe::ext::ImageSDL, fe::ext::ImageOIIO, fe::ext::ImageIL, and fe::ext::ImageCommon.

Referenced by fe::ext::ImageIL::interpretSelect().

◆ interpretSelect() [2/2]

virtual I32 fe::ext::ImageI::interpretSelect ( String  a_source)
pure virtual

create an image from text, returning its ID

Implemented in fe::ext::ImageSDL, fe::ext::ImageOIIO, fe::ext::ImageIL, fe::ext::ImageCommon, and fe::ext::GraphDot.

◆ loadSelect()

virtual I32 fe::ext::ImageI::loadSelect ( String  filename)
pure virtual

load an image from file, returning its ID

Implemented in fe::ext::ImageSDL, fe::ext::ImageOIIO, fe::ext::ImageIL, and fe::ext::ImageCommon.

◆ raw()

virtual void* fe::ext::ImageI::raw ( void  ) const
pure virtual

return the raw byte buffer of the image

Implemented in fe::ext::GraphDot, fe::ext::ImageRaw, fe::ext::ImageSDL, fe::ext::ImageIL, and fe::ext::ImageOIIO.

◆ replaceRegion()

virtual void fe::ext::ImageI::replaceRegion ( U32  x,
U32  y,
U32  z,
U32  width,
U32  height,
U32  depth,
void *  data 
)
pure virtual

replace data in part of the image

Implemented in fe::ext::GraphDot, fe::ext::ImageSDL, fe::ext::ImageIL, fe::ext::ImageOIIO, and fe::ext::ImageRaw.

◆ resize()

virtual void fe::ext::ImageI::resize ( U32  width,
U32  height,
U32  depth 
)
pure virtual

change the dimensions of the selcted image

Implemented in fe::ext::GraphDot, fe::ext::ImageSDL, fe::ext::ImageIL, fe::ext::ImageOIIO, and fe::ext::ImageRaw.

◆ save()

virtual BWORD fe::ext::ImageI::save ( String  filename)
pure virtual

◆ select()

virtual void fe::ext::ImageI::select ( I32  id)
pure virtual

select an image for further access

Implemented in fe::ext::ImageSDL, fe::ext::ImageIL, fe::ext::ImageOIIO, fe::ext::GraphDot, and fe::ext::ImageRaw.

◆ selected()

virtual I32 fe::ext::ImageI::selected ( void  ) const
pure virtual

◆ serial()

virtual I32 fe::ext::ImageI::serial ( void  ) const
pure virtual

return the change serial number

This number should increment each time the selected image is change.

Implemented in fe::ext::ImageCommon.

◆ setFormat()

virtual void fe::ext::ImageI::setFormat ( ImageI::Format  format)
pure virtual

choose a format for the selected image

Implemented in fe::ext::ImageSDL, fe::ext::ImageIL, fe::ext::ImageOIIO, fe::ext::GraphDot, and fe::ext::ImageRaw.

◆ unload()

virtual void fe::ext::ImageI::unload ( I32  id)
pure virtual

remove an image from memory

Implemented in fe::ext::ImageSDL, fe::ext::ImageIL, fe::ext::ImageOIIO, fe::ext::GraphDot, and fe::ext::ImageRaw.

◆ width()

virtual U32 fe::ext::ImageI::width ( void  ) const
pure virtual

return the X dimension of the image

Implemented in fe::ext::GraphDot, fe::ext::ImageSDL, fe::ext::ImageIL, fe::ext::ImageOIIO, and fe::ext::ImageRaw.

Referenced by fe::ext::ImageIL::setFormat().


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