# Bitmap

GSM_Error GSM_GetBitmap(GSM_StateMachine *s, GSM_Bitmap *Bitmap)

  Gets bitmap from phone.

GSM_Error GSM_SetBitmap(GSM_StateMachine *s, GSM_Bitmap *Bitmap)

  Sets bitmap in phone.

void GSM_PrintBitmap(FILE *file, GSM_Bitmap *bitmap)

  Prints bitmap to file descriptor.

  Parameters:

    - file – Where to print.

    - bitmap – Bitmap to print.

GSM_Error GSM_SaveBitmapFile(char *FileName, GSM_MultiBitmap *bitmap)

  Saves bitmap to file.

  Parameters:

    - FileName – Where to save.

    - bitmap – Bitmap to save.

  Returns:

    Error code

GSM_Error GSM_ReadBitmapFile(char *FileName, GSM_MultiBitmap *bitmap)

  Reads bitmap from file.

  Parameters:

    - FileName – Where to load from.

    - bitmap – Pointer where to load bitmap.

  Returns:

    Error code

gboolean GSM_IsPointBitmap(GSM_Bitmap *bmp, int x, int y)

  Checks whether point is set in bitmap.

  Parameters:

    - bmp – Bitmap

    - x – Horizontal coordinate.

    - y – Vertical coordinate.

  Returns:

    True if point is set.

void GSM_SetPointBitmap(GSM_Bitmap *bmp, int x, int y)

  Sets point in bitmap.

  Parameters:

    - bmp – Bitmap

    - x – Horizontal coordinate.

    - y – Vertical coordinate.

void GSM_ClearPointBitmap(GSM_Bitmap *bmp, int x, int y)

  Clears point in bitmap.

  Parameters:

    - bmp – Bitmap

    - x – Horizontal coordinate.

    - y – Vertical coordinate.

void GSM_ClearBitmap(GSM_Bitmap *bmp)

  Clears bitmap.

  Parameters:

    - bmp – Bitmap

enum GSM_BinaryPicture_Types

  Binary picture types.

  Values:

  enumerator PICTURE_BMP
  enumerator PICTURE_GIF
  enumerator PICTURE_JPG
  enumerator PICTURE_ICN
  enumerator PICTURE_PNG

struct GSM_BinaryPicture

  Binary picture data.

enum GSM_Bitmap_Types

  Enum to handle all possible bitmaps, which are not saved in various filesystems.

  Values:

  enumerator GSM_None
  enumerator GSM_ColourStartupLogo_ID

    ID of static file in filesystem displayed during startup

  enumerator GSM_StartupLogo

    Static mono bitmap/ID of animated mono bitmap displayed during startup

  enumerator GSM_ColourOperatorLogo_ID

    ID of static file in filesystem displayed instead of operator name

  enumerator GSM_OperatorLogo

    Mono bitmap displayed instead of operator name

  enumerator GSM_ColourWallPaper_ID

    ID of static file in filesystem displayed as wallpaper

  enumerator GSM_CallerGroupLogo

    Mono bitmap assigned to caller group

  enumerator GSM_DealerNote_Text

    Text displayed during startup, which can’t be removed from phone menu

  enumerator GSM_WelcomeNote_Text

    Text displayed during startup

  enumerator GSM_PictureImage

    Image defined in Smart Messaging specification

  enumerator GSM_PictureBinary

    Binary picture (BMP, GIF, etc.)

struct GSM_Bitmap

  Structure for all possible bitmaps, which are not saved in various filesystems

  Public Members

  GSM_Bitmap_Types Type

    For all: bitmap type

  unsigned char Location

    For caller group logos: number of group For startup logos: number of animated bitmap

  unsigned char Text[2 * (GSM_BITMAP_TEXT_LENGTH + 1)]

    For dealer/welcome note text: text For caller group logo: name of group For picture images: text assigned to it

  gboolean BitmapEnabled

    For caller group logo: TRUE, when logo is enabled in group

  gboolean DefaultName

    For caller group logo: TRUE, when group has default name

  gboolean DefaultBitmap

    For caller group logo: TRUE, when group has default bitmap

  gboolean DefaultRingtone

    For caller group logo: TRUE, when group has default ringtone

  unsigned char RingtoneID

    For caller group logo: ringtone ID. Phone model specific

  int PictureID

    For caller group logo: picture ID. Phone model specific

  unsigned char BitmapPoints[GSM_BITMAP_SIZE]

    For mono bitmaps: body of bitmap

  size_t BitmapHeight

    For mono bitmaps: height specified in pixels

  size_t BitmapWidth

    For mono bitmaps: width specified in pixels

  char NetworkCode[10]

    For operator logos: Network operator code

  unsigned char Sender[2 * (GSM_MAX_NUMBER_LENGTH + 1)]

    For picture images: number of sender

  unsigned char ID

    For colour bitmaps: ID

  GSM_BinaryPicture BinaryPic

    For binary pictures (GIF, BMP, etc.): frame and length

  unsigned char Name[2 * (GSM_BITMAP_TEXT_LENGTH + 1)]

    Bitmap name

struct GSM_MultiBitmap

  Structure to handle more than one bitmap

  Public Members

  unsigned char Number

    Number of bitmaps

  GSM_Bitmap Bitmap[GSM_MAX_MULTI_BITMAP]

    All bitmaps

GSM_Error GSM_GetScreenshot(GSM_StateMachine *s, GSM_BinaryPicture *picture)

  Gets phone screenshot.

  Parameters:

    - s – State machine pointer.

    - picture – Structure which will hold data.