org.hfbk.vis.ImageFetcher Class Reference

Collaboration diagram for org.hfbk.vis.ImageFetcher:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ImageFetcher (String url, boolean asThumbnail)
void run ()
void free ()

Static Public Member Functions

static synchronized void waitReady ()

Public Attributes

ByteBuffer pixels
int width
int height
int pixelformat

Package Functions

void deliverImage (String url) throws Exception
void deliverImage (Image img)

Package Attributes

String url
boolean thumbnail
AVImageLoader avs

Static Package Attributes

static final String LIBAV_PATTERN = "(?i).*\\.(jpg|jpeg)"
static final int SIMULTANEOUS_FETCH_COUNT = 4
static int activeCount = 0

Detailed Description

a thread to fetch an image in the background

the image can be polled by the field 'pixels' which stays null until image is successfully received and decoded. the user then has to reset 'pixels' to null to notify the ImageFetcher that ressouces can be freed!

we use no listener pattern as he GL part relies in one thread and we have to fill texture there.

Definition at line 25 of file ImageFetcher.java.


Constructor & Destructor Documentation

org.hfbk.vis.ImageFetcher.ImageFetcher ( String  url,
boolean  asThumbnail 
)

Definition at line 46 of file ImageFetcher.java.


Member Function Documentation

void org.hfbk.vis.ImageFetcher.run (  ) 

obtain one token (activeCount) and fetch the image source

Definition at line 59 of file ImageFetcher.java.

References org.hfbk.vis.ImageFetcher.activeCount, org.hfbk.vis.ImageFetcher.deliverImage(), org.hfbk.vis.ImageFetcher.url, and org.hfbk.vis.ImageFetcher.waitReady().

Here is the call graph for this function:

void org.hfbk.vis.ImageFetcher.deliverImage ( String  url  )  throws Exception [package]

Definition at line 79 of file ImageFetcher.java.

References org.hfbk.vis.ImageFetcher.avs, org.hfbk.vid.AVImageLoader.height, org.hfbk.vis.ImageFetcher.height, org.hfbk.vis.ImageFetcher.LIBAV_PATTERN, org.hfbk.vis.ImageFetcher.pixelformat, org.hfbk.vid.AVImageLoader.pixels, org.hfbk.vis.ImageFetcher.pixels, org.hfbk.vis.ImageFetcher.thumbnail, org.hfbk.vis.ImageFetcher.url, org.hfbk.vid.AVImageLoader.width, and org.hfbk.vis.ImageFetcher.width.

Referenced by org.hfbk.vis.ImageFetcher.run().

Here is the caller graph for this function:

void org.hfbk.vis.ImageFetcher.deliverImage ( Image  img  )  [package]

Definition at line 106 of file ImageFetcher.java.

References org.hfbk.vis.ImageFetcher.height, org.hfbk.vis.ImageFetcher.pixelformat, org.hfbk.vis.ImageFetcher.pixels, and org.hfbk.vis.ImageFetcher.width.

void org.hfbk.vis.ImageFetcher.free (  ) 

Definition at line 114 of file ImageFetcher.java.

References org.hfbk.vis.ImageFetcher.avs, and org.hfbk.vid.AVImageLoader.free().

Referenced by org.hfbk.vis.visnode.VisImage.close(), and org.hfbk.vis.visnode.VisImage.renderSelf().

Here is the call graph for this function:

Here is the caller graph for this function:

static synchronized void org.hfbk.vis.ImageFetcher.waitReady (  )  [static]

blocks while simulataneous fetches are at the limit.

Definition at line 123 of file ImageFetcher.java.

References org.hfbk.vis.ImageFetcher.activeCount, and org.hfbk.vis.ImageFetcher.SIMULTANEOUS_FETCH_COUNT.

Referenced by org.hfbk.vis.ImageFetcher.run().

Here is the caller graph for this function:


Member Data Documentation

final String org.hfbk.vis.ImageFetcher.LIBAV_PATTERN = "(?i).*\\.(jpg|jpeg)" [static, package]

Definition at line 27 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage().

final int org.hfbk.vis.ImageFetcher.SIMULTANEOUS_FETCH_COUNT = 4 [static, package]

Definition at line 29 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.waitReady().

int org.hfbk.vis.ImageFetcher.activeCount = 0 [static, package]

Definition at line 31 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.run(), and org.hfbk.vis.ImageFetcher.waitReady().

String org.hfbk.vis.ImageFetcher.url [package]

Definition at line 33 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage(), and org.hfbk.vis.ImageFetcher.run().

ByteBuffer org.hfbk.vis.ImageFetcher.pixels

Definition at line 36 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage(), and org.hfbk.vis.visnode.VisImage.renderSelf().

int org.hfbk.vis.ImageFetcher.width

Definition at line 38 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage(), and org.hfbk.vis.visnode.VisImage.renderSelf().

int org.hfbk.vis.ImageFetcher.height

Definition at line 38 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage(), and org.hfbk.vis.visnode.VisImage.renderSelf().

int org.hfbk.vis.ImageFetcher.pixelformat

Definition at line 39 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage(), and org.hfbk.vis.visnode.VisImage.renderSelf().

boolean org.hfbk.vis.ImageFetcher.thumbnail [package]

Definition at line 41 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage().

AVImageLoader org.hfbk.vis.ImageFetcher.avs [package]

Definition at line 44 of file ImageFetcher.java.

Referenced by org.hfbk.vis.ImageFetcher.deliverImage(), and org.hfbk.vis.ImageFetcher.free().


The documentation for this class was generated from the following file:
Generated on Tue Apr 7 17:58:08 2009 for visclient by  doxygen 1.5.1