summaryrefslogtreecommitdiffabout
path: root/gammu/emb/common/service/gsmlogo.h
Side-by-side diff
Diffstat (limited to 'gammu/emb/common/service/gsmlogo.h') (more/less context) (show whitespace changes)
-rw-r--r--gammu/emb/common/service/gsmlogo.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/gammu/emb/common/service/gsmlogo.h b/gammu/emb/common/service/gsmlogo.h
index b1b579d..6c6e2d8 100644
--- a/gammu/emb/common/service/gsmlogo.h
+++ b/gammu/emb/common/service/gsmlogo.h
@@ -1,72 +1,90 @@
/* (c) 2002-2004 by Marcin Wiacek */
#ifndef __gsm_bitmaps_h
#define __gsm_bitmaps_h
#include "../gsmcomon.h"
+typedef enum {
+ PICTURE_BMP = 1,
+ PICTURE_GIF,
+ PICTURE_JPG,
+ PICTURE_ICN,
+ PICTURE_PNG
+} GSM_BinaryPicture_Types;
+
+typedef struct {
+ GSM_BinaryPicture_Types Type;
+ unsigned char *Buffer;
+ int Length;
+} GSM_BinaryPicture;
+
/**
* Enum to handle all possible bitmaps, which are not saved in various filesystems.
*/
typedef enum {
GSM_None = 1,
/**
* ID of static file in filesystem displayed during startup
*/
GSM_ColourStartupLogo_ID,
/**
* Static mono bitmap/ID of animated mono bitmap displayed during startup
*/
GSM_StartupLogo,
/**
* ID of static file in filesystem displayed instead of operator name
*/
GSM_ColourOperatorLogo_ID,
/**
* Mono bitmap displayed instead of operator name
*/
GSM_OperatorLogo,
/**
* ID of static file in filesystem displayed as wallpaper
*/
GSM_ColourWallPaper_ID,
/**
* Mono bitmap assigned to caller group
*/
GSM_CallerGroupLogo,
/**
* Text displayed during startup, which can't be removed from phone menu
*/
GSM_DealerNote_Text,
/**
* Text displayed during startup
*/
GSM_WelcomeNote_Text,
/**
* Image defined in Smart Messaging specification
*/
- GSM_PictureImage
+ GSM_PictureImage,
+ /**
+ * Binary picture (BMP, GIF, etc.)
+ */
+ GSM_PictureBinary
} GSM_Bitmap_Types;
#define GSM_BITMAP_SIZE (65+7)/8*96
#define GSM_BITMAP_TEXT_LENGTH 128
/**
* Structure for all possible bitmaps, which are not saved in various filesystems
*/
typedef struct {
/**
* For all: bitmap type
*/
GSM_Bitmap_Types Type;
/**
* For caller group logos: number of group
* For startup logos: number of animated bitmap
*/
unsigned char Location;
/**
* For dealer/welcome note text: text
* For caller group logo: name of group
* For picture images: text assigned to it
*/
unsigned char Text[2 * (GSM_BITMAP_TEXT_LENGTH + 1)];
@@ -94,48 +112,56 @@ typedef struct {
/**
* For mono bitmaps: body of bitmap
*/
unsigned char BitmapPoints[GSM_BITMAP_SIZE];
/**
* For mono bitmaps: height specified in pixels
*/
unsigned char BitmapHeight;
/**
* For mono bitmaps: width specified in pixels
*/
unsigned char BitmapWidth;
/**
* For operator logos: Network operator code
*/
char NetworkCode[7];
/**
* For picture images: number of sender
*/
unsigned char Sender[2 * (GSM_MAX_NUMBER_LENGTH + 1)];
/**
* For colour bitmaps: ID
*/
unsigned char ID;
+ /**
+ * For binary pictures (GIF, BMP, etc.): frame and length
+ */
+ GSM_BinaryPicture BinaryPic;
+ /**
+ * Bitmap name
+ */
+ char *Name;
} GSM_Bitmap;
#define MAX_MULTI_BITMAP 6
/**
* Structure to handle more than one bitmap
*/
typedef struct {
/**
* Number of bitmaps
*/
unsigned char Number;
/**
* All bitmaps
*/
GSM_Bitmap Bitmap[MAX_MULTI_BITMAP];
} GSM_MultiBitmap;
typedef enum {
GSM_NokiaStartupLogo = 1, /*size 84*48*/
GSM_NokiaOperatorLogo, /*size 72*14*/
GSM_Nokia7110OperatorLogo, /*size 78*21*/
GSM_Nokia6510OperatorLogo, /*size 78*21*/
GSM_NokiaCallerLogo, /*size 72*14*/