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 :