OTAbitmap.h
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:2k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. #ifndef OTABITMAP_H
  2. #define OTABITMAP_H
  3. /* OTA Bitmap - used for CLI Icon and Operator logo messages
  4.  *
  5.  * Kalle Marjola 1999 for WapIT Ltd.
  6.  *
  7.  * functions to store OTA Bitmaps and and create Octet strings from them
  8.  */
  9. #include "gwlib/gwlib.h"
  10. /* OTA Bitmap
  11.  */
  12. typedef struct OTA_bitmap {
  13.     Octet infofield;
  14.     Octet *ext_fields;
  15.     int extfield_count;
  16.     int width;    /* 8 or 16 bits, defined by infofield */
  17.     int        height; /* ditto */
  18.     int    depth;
  19.     Octet *main_image;
  20.     Octet **animated_image;
  21.     int animimg_count; /* total # of animated images */
  22.     /* Octet *palette; */
  23. } OTAbitmap;
  24. /* create a new empty OTAbitmap struct. Return a pointer to it or NULL if
  25.  * operation fails
  26.  */
  27. OTAbitmap *OTAbitmap_create_empty(void);
  28. /* delete given OTAbitmap, including freeing the pixmap */
  29. void OTAbitmap_delete(OTAbitmap *pic);
  30. #define NEGATIVE 1 /* source has white=0, black=1 */
  31. #define REVERSE 2 /* source has righmost as most significant */
  32. /* create a new bitmap
  33.  *
  34.  * width and height are size of the bitmap,
  35.  * data is the entire bitmap; from left-top corner to righ-bottom;
  36.  * if the width is not dividable by 8, the rest of the row is NOT padded 
  37.  * with zeros. bytes are ordered big-endian
  38.  *
  39.  * target: black=0, white=1, most significant leftmost
  40.  *
  41.  * You can generate raw bitmap in Linux (RH 6.0) with following line:
  42.  * %> convert -monochrome input_file target.mono
  43.  *
  44.  * ..which then requires flags REVERSE and NEGATIVE
  45.  *
  46.  * return pointer to created OTAbitmap, or NULL if fails
  47.  */
  48. OTAbitmap *OTAbitmap_create(int width, int height, int depth, Octet *data, int flags);
  49. /* create Octet stream out of given OTAbitmap
  50.  * return the length of stream, *stream is set to new stream which must
  51.  * be freed by the caller
  52.  */
  53. int OTAbitmap_create_stream(OTAbitmap *pic, Octet **stream);
  54. #endif