home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333)))) XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111))))
-
-
-
- NNNNAAAAMMMMEEEE
- XInitImage, XCreateImage, XGetPixel, XPutPixel, XSubImage,
- XAddPixel, XDestroyImage - image utilities
-
- SSSSYYYYNNNNTTTTAAAAXXXX
- Status XInitImage(_i_m_a_g_e)
- XImage *_i_m_a_g_e;
-
- XImage *XCreateImage(_d_i_s_p_l_a_y, _v_i_s_u_a_l, _d_e_p_t_h, _f_o_r_m_a_t, _o_f_f_s_e_t,
- _d_a_t_a, _w_i_d_t_h, _h_e_i_g_h_t, _b_i_t_m_a_p__p_a_d,
- _b_y_t_e_s__p_e_r__l_i_n_e)
- Display *_d_i_s_p_l_a_y;
- Visual *_v_i_s_u_a_l;
- unsigned int _d_e_p_t_h;
- int _f_o_r_m_a_t;
- int _o_f_f_s_e_t;
- char *_d_a_t_a;
- unsigned int _w_i_d_t_h;
- unsigned int _h_e_i_g_h_t;
- int _b_i_t_m_a_p__p_a_d;
- int _b_y_t_e_s__p_e_r__l_i_n_e;
-
- unsigned long XGetPixel(_x_i_m_a_g_e, _x, _y)
- XImage *_x_i_m_a_g_e;
- int _x;
- int _y;
-
- XPutPixel(_x_i_m_a_g_e, _x, _y, _p_i_x_e_l)
- XImage *_x_i_m_a_g_e;
- int _x;
- int _y;
- unsigned long _p_i_x_e_l;
-
- XImage *XSubImage(_x_i_m_a_g_e, _x, _y, _s_u_b_i_m_a_g_e__w_i_d_t_h,
- _s_u_b_i_m_a_g_e__h_e_i_g_h_t)
- XImage *_x_i_m_a_g_e;
- int _x;
- int _y;
- unsigned int _s_u_b_i_m_a_g_e__w_i_d_t_h;
- unsigned int _s_u_b_i_m_a_g_e__h_e_i_g_h_t;
-
- XAddPixel(_x_i_m_a_g_e, _v_a_l_u_e)
- XImage *_x_i_m_a_g_e;
- long _v_a_l_u_e;
-
- XDestroyImage(_x_i_m_a_g_e)
- XImage *_x_i_m_a_g_e;
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- _b_i_t_m_a_p__p_a_d
- Specifies the quantum of a scanline (8, 16, or
- 32). In other words, the start of one scanline is
-
-
-
- Page 1 (printed 4/30/98)
-
-
-
-
-
-
- XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333)))) XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111))))
-
-
-
- separated in client memory from the start of the
- next scanline by an integer multiple of this many
- bits.
-
- _b_y_t_e_s__p_e_r__l_i_n_e
- Specifies the number of bytes in the client image
- between the start of one scanline and the start of
- the next.
-
- _d_a_t_a Specifies the image data.
-
- _d_e_p_t_h Specifies the depth of the image.
-
- _d_i_s_p_l_a_y Specifies the connection to the X server.
-
- _f_o_r_m_a_t Specifies the format for the image. You can pass
- _X_Y_B_i_t_m_a_p, _X_Y_P_i_x_m_a_p, or _Z_P_i_x_m_a_p.
-
- _h_e_i_g_h_t Specifies the height of the image, in pixels.
-
- _o_f_f_s_e_t Specifies the number of pixels to ignore at the
- beginning of the scanline.
-
- _p_i_x_e_l Specifies the new pixel value.
-
- _s_u_b_i_m_a_g_e__h_e_i_g_h_t
- Specifies the height of the new subimage, in
- pixels.
-
- _s_u_b_i_m_a_g_e__w_i_d_t_h
- Specifies the width of the new subimage, in
- pixels.
-
- _v_a_l_u_e Specifies the constant value that is to be added.
-
- _v_i_s_u_a_l Specifies the _V_i_s_u_a_l structure.
-
- _w_i_d_t_h Specifies the width of the image, in pixels.
-
- _x_i_m_a_g_e Specifies the image.
-
- _x
- _y Specify the x and y coordinates.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _X_I_n_i_t_I_m_a_g_e function initializes the internal image
- manipulation routines of an image structure, based on the
- values of the various structure members. All fields other
- than the manipulation routines must already be initialized.
- If the bytes_per_line member is zero, _X_I_n_i_t_I_m_a_g_e will assume
- the image data is contiguous in memory and set the
- bytes_per_line member to an appropriate value based on the
-
-
-
- Page 2 (printed 4/30/98)
-
-
-
-
-
-
- XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333)))) XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111))))
-
-
-
- other members; otherwise, the value of bytes_per_line is not
- changed. All of the manipulation routines are initialized
- to functions that other Xlib image manipulation functions
- need to operate on the type of image specified by the rest
- of the structure.
-
- This function must be called for any image constructed by
- the client before passing it to any other Xlib function.
- Image structures created or returned by Xlib do not need to
- be initialized in this fashion.
-
- This function returns a nonzero status if initialization of
- the structure is successful. It returns zero if it detected
- some error or inconsistency in the structure, in which case
- the image is not changed.
-
- The _X_C_r_e_a_t_e_I_m_a_g_e function allocates the memory needed for an
- _X_I_m_a_g_e structure for the specified display but does not
- allocate space for the image itself. Rather, it initializes
- the structure byte-order, bit-order, and bitmap-unit values
- from the display and returns a pointer to the _X_I_m_a_g_e
- structure. The red, green, and blue mask values are defined
- for Z format images only and are derived from the _V_i_s_u_a_l
- structure passed in. Other values also are passed in. The
- offset permits the rapid displaying of the image without
- requiring each scanline to be shifted into position. If you
- pass a zero value in bytes_per_line, Xlib assumes that the
- scanlines are contiguous in memory and calculates the value
- of bytes_per_line itself.
-
- Note that when the image is created using _X_C_r_e_a_t_e_I_m_a_g_e,
- _X_G_e_t_I_m_a_g_e, or _X_S_u_b_I_m_a_g_e, the destroy procedure that the
- _X_D_e_s_t_r_o_y_I_m_a_g_e function calls frees both the image structure
- and the data pointed to by the image structure.
-
- The basic functions used to get a pixel, set a pixel, create
- a subimage, and add a constant value to an image are defined
- in the image object. The functions in this section are
- really macro invocations of the functions in the image
- object and are defined in <_X_1_1/_X_u_t_i_l._h>.
-
- The _X_G_e_t_P_i_x_e_l function returns the specified pixel from the
- named image. The pixel value is returned in normalized
- format (that is, the least significant byte of the long is
- the least significant byte of the pixel). The image must
- contain the x and y coordinates.
-
- The _X_P_u_t_P_i_x_e_l function overwrites the pixel in the named
- image with the specified pixel value. The input pixel value
- must be in normalized format (that is, the least significant
- byte of the long is the least significant byte of the
- pixel). The image must contain the x and y coordinates.
-
-
-
- Page 3 (printed 4/30/98)
-
-
-
-
-
-
- XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333)))) XXXXCCCCrrrreeeeaaaatttteeeeIIIImmmmaaaaggggeeee((((3333XXXX11111111))))
-
-
-
- The _X_S_u_b_I_m_a_g_e function creates a new image that is a
- subsection of an existing one. It allocates the memory
- necessary for the new _X_I_m_a_g_e structure and returns a pointer
- to the new image. The data is copied from the source image,
- and the image must contain the rectangle defined by x, y,
- subimage_width, and subimage_height.
-
- The _X_A_d_d_P_i_x_e_l function adds a constant value to every pixel
- in an image. It is useful when you have a base pixel value
- from allocating color resources and need to manipulate the
- image to that form.
-
- The _X_D_e_s_t_r_o_y_I_m_a_g_e function deallocates the memory associated
- with the _X_I_m_a_g_e structure.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- XPutImage(3X11)
- _X_l_i_b - _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 4 (printed 4/30/98)
-
-
-
-