PgmRenderMediaIFace

PgmRenderMediaIFace — An interface for drawing color and images.

Synopsis




enum                PgmRenderMediaInterpType;
                    PgmRenderMediaIFace;
PgmRenderError      pgm_render_media_set_color          (PgmRenderMediaIFace *media,
                                                         guchar r,
                                                         guchar g,
                                                         guchar b,
                                                         guchar a);
PgmRenderError      pgm_render_media_get_color          (PgmRenderMediaIFace *media,
                                                         guchar *r,
                                                         guchar *g,
                                                         guchar *b,
                                                         guchar *a);
PgmRenderError      pgm_render_media_set_image          (PgmRenderMediaIFace *media,
                                                         PgmRenderMediaPixelFormat format,
                                                         gint width,
                                                         gint height,
                                                         gint stride,
                                                         gconstpointer data);
PgmRenderError      pgm_render_media_set_image_from_drawable
                                                        (PgmRenderMediaIFace *media,
                                                         PgmRenderDrawable *drawable);
PgmRenderError      pgm_render_media_del_image          (PgmRenderMediaIFace *media);
PgmRenderError      pgm_render_media_set_interp_type    (PgmRenderMediaIFace *media,
                                                         PgmRenderMediaInterpType type);
PgmRenderError      pgm_render_media_get_interp_type    (PgmRenderMediaIFace *media,
                                                         PgmRenderMediaInterpType *type);


Description

PgmRenderMediaIFace is an interface to add color and images drawing capabilities to an object.

Details

enum PgmRenderMediaInterpType

typedef enum {
  PGM_RENDER_MEDIA_NEAREST,
  PGM_RENDER_MEDIA_BILINEAR
} PgmRenderMediaInterpType;

The different image interpolation types.

PGM_RENDER_MEDIA_NEAREST The nearest neighbour sampling. This is the fastest and lowest quality mode.
PGM_RENDER_MEDIA_BILINEAR The bilinear sampling. This is the slowest and highest quality mode.

PgmRenderMediaIFace

typedef struct _PgmRenderMediaIFace PgmRenderMediaIFace;


pgm_render_media_set_color ()

PgmRenderError      pgm_render_media_set_color          (PgmRenderMediaIFace *media,
                                                         guchar r,
                                                         guchar g,
                                                         guchar b,
                                                         guchar a);

Sets the color of media to (r, g, b, a).

media : A PgmRenderMediaIFace object.
r : The R color layer.
g : The G color layer.
b : The B color layer.
a : The A color layer.
Returns : An error status.

pgm_render_media_get_color ()

PgmRenderError      pgm_render_media_get_color          (PgmRenderMediaIFace *media,
                                                         guchar *r,
                                                         guchar *g,
                                                         guchar *b,
                                                         guchar *a);

Retrieves the color of media.

media : A PgmRenderMediaIFace object.
r : The R color layer to fill.
g : The G color layer to fill.
b : The B color layer to fill.
a : The A color layer to fill.
Returns : An error status.

pgm_render_media_set_image ()

PgmRenderError      pgm_render_media_set_image          (PgmRenderMediaIFace *media,
                                                         PgmRenderMediaPixelFormat format,
                                                         gint width,
                                                         gint height,
                                                         gint stride,
                                                         gconstpointer data);

Set the image of the media. The image is drawn over the color of the media.

media : A PgmRenderMediaIFace object.
format : The format of pixels of the image.
width : The width of the image.
height : The height of the image.
stride : The number of bytes between the start of rows in the image. Having this specified separate from width handles the padding at the end of rows.
data : A pointer to the data supplied by the application.
Returns : An error status.

pgm_render_media_set_image_from_drawable ()

PgmRenderError      pgm_render_media_set_image_from_drawable
                                                        (PgmRenderMediaIFace *media,
                                                         PgmRenderDrawable *drawable);

Set the image of the media from another drawable object implementing the MediaIface interface. The goal is to avoid video memory duplication.

media : A PgmRenderMediaIFace object.
drawable : The surface to copy the data from.
Returns : An error status.

pgm_render_media_del_image ()

PgmRenderError      pgm_render_media_del_image          (PgmRenderMediaIFace *media);

Delete the image of the media.

media : A PgmRenderMediaIFace object.
Returns : An error status.

pgm_render_media_set_interp_type ()

PgmRenderError      pgm_render_media_set_interp_type    (PgmRenderMediaIFace *media,
                                                         PgmRenderMediaInterpType type);

Retrieves the filter type for the scaling interpolation of the media's image.

media : A PgmRenderMediaIFace object.
type : The interpolation type to fill.
Returns : An error status.

pgm_render_media_get_interp_type ()

PgmRenderError      pgm_render_media_get_interp_type    (PgmRenderMediaIFace *media,
                                                         PgmRenderMediaInterpType *type);

media :
type :
Returns :