diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraapp/generic/common/inc/Cam.rh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/common/inc/Cam.rh Wed Sep 01 12:30:54 2010 +0100 @@ -0,0 +1,724 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Resource STRUCT definitions specifically for the camera* +*/ + + + +// INCLUDES +#include "Cam.hrh" +#include "CamSettings.hrh" +#include "CamSettingsInternal.hrh" + + + +// MACROS + + +// STRUCTURE DEFINITIONS + + +#ifndef CAMERAAPP_PLUGIN_BUILD + +//**************************************************** +// REMEMBER ALL THE RESOURCES SPECIFIC TO CAMERA ONLY +//**************************************************** +//---------------------------------------------------- +// +// CAM_DYNAMIC_SETTING_ITEM_DATA +// The initialisation data for a dynamic setting item. +// +//---------------------------------------------------- +// +STRUCT CAM_DYNAMIC_SETTING_ITEM_DATA + { + // Settings model Id for this item. + WORD id; + + // Default value. + WORD default; + } + +#endif //CAMERAAPP_PLUGIN_BUILD + + + +//**************************************************************** +// REMEMBER ALL THE RESOURCES BELOW ARE FOR BOTH CAMERA AND PLUGIN +//**************************************************************** + +// ----------------------------------------------------------------------------- +// CAMERA_BITMAP +// This structure is for defining the bitmaps of a sidepane indicator. +// ----------------------------------------------------------------------------- +// +STRUCT CAMERA_BITMAP + { + LONG bitmap_id; + } + +// ----------------------------------------------------------------------------- +// CAMERA_INDICATOR_COORDS +// This structure is for defining the position of a side pane indicator. +// ----------------------------------------------------------------------------- +// +STRUCT CAMERA_INDICATOR_COORDS + { + WORD tl_x; // top left x co-ordinate + WORD tl_y; // top left y co-ordinate + WORD br_x; // bottom right x co-ordinate + WORD br_y; // bottom right y co-ordinate + } + +// ----------------------------------------------------------------------------- +// CAMERA_INDICATOR +// This structure is for defining a side pane indicator. +// ----------------------------------------------------------------------------- +// +STRUCT CAMERA_INDICATOR + { + WORD indicator_id; + STRUCT coords; + STRUCT bitmaps[]; + } + +// ----------------------------------------------------------------------------- +// CAMERA_SIDEPANE +// This structure is for defining a camera side pane. +// ----------------------------------------------------------------------------- +// +STRUCT CAMERA_SIDEPANE + { + STRUCT indicators[]; + } + +// ----------------------------------------------------------------------------- +// CAPTURE_SETUP_LIST_ITEM +// This structure is for defining a list item in a capture +// set-up list control +// ----------------------------------------------------------------------------- +// +STRUCT CAPTURE_SETUP_LIST_ITEM + { + LTEXT item_text; + WORD setting_value_id; + LONG bitmap_id = -1; // no bitmap + } + +// ----------------------------------------------------------------------------- +// LOCATION_SETTING_LIST_ITEM +// This structure is for defining a list item in a location +// set-up list control +// ----------------------------------------------------------------------------- +// +STRUCT LOCATION_SETTING_LIST_ITEM + { + LTEXT item_text; + WORD setting_value_id; + LONG bitmap_id = -1; // no bitmap + } + +STRUCT CAM_LOCATION_SELECT_SUMMARY + { + WORD setting_value_id; + LONG summary_icon = -1; + LTEXT summary_description_text; + } + +STRUCT CAM_LOCATION_SELECT_SUMMARY_LAYOUT + { + STRUCT summary_rect; + STRUCT summary_inner_rect; + STRUCT summary_icon; + STRUCT summary_description[]; + } + + + +//---------------------------------------------------- +// +// CAM_CAPTURE_SETUP_MENU_DATA +// All the contents and layout data for a capture setup menu. +// +//---------------------------------------------------- +// +STRUCT CAM_CAPTURE_SETUP_MENU_DATA + { + // Data for the layout of the listbox. + STRUCT listbox_layout; + // Data for the list box item contents. + STRUCT contents[]; + // Data for the layout of the text items in the listbox. + STRUCT text_layout; + // Data for the layout of the bitmaps in the list box. + STRUCT bitmap_layout; + // Data for icon text layout. + STRUCT icontext_layout; + // The offset of the highlighted rectangle (when list item selected) + // from the normal rectangle of a list item. + WORD highlighted_offset; + // The height of a list item. + WORD list_item_height; + } + +//---------------------------------------------------- +// +// CAM_CAPTURE_SETUP_MENU_ITEM_REF +// Reference to a capture setup menu item. +// +//---------------------------------------------------- +// +STRUCT CAM_CAPTURE_SETUP_MENU_ITEM_REF + { + LLINK capture_setup_menu_item_ref = 0; + } + +//---------------------------------------------------- +// +// CAM_CAPTURE_SETUP_MENU_ITEM_ARRAY +// Array of all data for a capture setup menu item +// +//---------------------------------------------------- +// +STRUCT CAM_CAPTURE_SETUP_MENU_ITEM_ARRAY + { + // Settings model Id for this setting item + WORD id; + + // Text for this capture setup menu item. + LTEXT text; + + // Data for a capture setup menu item + STRUCT capture_setup_menu_item[]; + } + +//---------------------------------------------------- +// +// CAM_CAPTURE_SETUP_MENU_ITEM_DATA +// Data for a single setting of a capture setup menu item. +// +//---------------------------------------------------- +// +STRUCT CAM_CAPTURE_SETUP_MENU_ITEM_DATA + { + // Id for this setting value + WORD id; + + // Id of the bitmap that is associated with this setting value (-1 default = none). + WORD bitmap = -1; + + // Text to be used instead of an icon for this setting value ("" default = none). + LTEXT icontext = ""; + } + +//---------------------------------------------------- +// +// CAM_CAPTURE_SETUP_MENU_LISTBOX +// Data for capture setup menu listbox +// +//---------------------------------------------------- +// +STRUCT CAM_CAPTURE_SETUP_MENU_LISTBOX + { + WORD bottomOffset; // vertical distance from bottom of screen of capture setup menu + } + +//---------------------------------------------------- +// +// CAM_CAPTURE_SETUP_MENU_LISTBOX +// Data for capture setup menu listbox +// +//---------------------------------------------------- +// +STRUCT CAM_CAPTURE_SETUP_MENU_LISTBOX_ITEMDRAWER + { + WORD textWidth; // width of the area allocated to drawing text, in pixels + WORD bitmapWidth; // width of the area allocated to drawing bitmaps, in pixels + WORD itemVerticalMargin; + WORD highlightOffset; + WORD textLeftMargin; + } + +// ----------------------------------------------------------------------------- +// +// CAM_BURST_GRID_ITEM +// Data for drawing of the Burst capture Thumbnail grid +// ----------------------------------------------------------------------------- +// +STRUCT CAM_BURST_GRID_ITEM + { + STRUCT cell_rect; // outline rectangle for each cell in the grid + STRUCT high_rect; // outline rectangle for the cell highlight + STRUCT mark_rect; // outline rectangle for the "mark" of the cell + STRUCT thmb_rect; // outline rectangle for the thumbnail draw area + } + +// ----------------------------------------------------------------------------- +// +// CAM_RECT_SIZE +// +// ----------------------------------------------------------------------------- +// +STRUCT CAM_RECT_SIZE + { + WORD width; + WORD height; + } + +// ----------------------------------------------------------------------------- +// +// CAM_SLIDER_EV_ITEM +// Data for drawing of the EV Slider legend +// ----------------------------------------------------------------------------- +// +STRUCT CAM_SLIDER_EV_ITEM + { + WORD item = ECamSliderLegendItemText; + LTEXT text = ""; + LONG bitmap_id = 0; + LONG mask_id = 0; + } + +// ----------------------------------------------------------------------------- +// +// CAM_SLIDER_LEGEND_ITEM +// Data for drawing of the Slider legend +// ----------------------------------------------------------------------------- +// +STRUCT CAM_SLIDER_LEGEND_ITEM + { + WORD item = ECamSliderLegendItemText; + STRUCT position; + LTEXT text = ""; + LONG bitmap_id = 0; + LONG mask_id = 0; + } + + +// ----------------------------------------------------------------------------- +// +// CAM_SLIDER_CONTRAST_LEGEND_ITEM +// Data for drawing of the Slider legend for Contrast +// ----------------------------------------------------------------------------- +// +STRUCT CAM_SLIDER_CONTRAST_LEGEND_ITEM + { + WORD item = ECamSliderLegendItemText; + LTEXT text = ""; + LONG bitmap_id = 0; + LONG mask_id = 0; + } + + +//---------------------------------------------------- +// +// CAM_USER_SCENE_SETUP_LIST_DATA +// Data for a user scene setup list +// +//---------------------------------------------------- +// +STRUCT CAM_USER_SCENE_SETUP_LIST_DATA + { + // List title + LLINK title_id = 0; + + // Array of all items for a user scene setup list + STRUCT user_scene_setup_list_items[]; + } + + +//---------------------------------------------------- +// +// CAM_USER_SCENE_SETUP_LIST_ITEM_REF +// Reference to a user scene setup list item. +// +//---------------------------------------------------- +// +STRUCT CAM_USER_SCENE_SETUP_LIST_ITEM_REF + { + LLINK user_scene_setup_list_item_ref = 0; + } + + +//---------------------------------------------------- +// +// CAM_USER_SCENE_SETUP_LIST_ITEM_DATA +// All data for an item in the user scene list item. +// +//---------------------------------------------------- +// +STRUCT CAM_USER_SCENE_SETUP_LIST_ITEM_DATA + { + // Settings model Id for the setting type associated with this item + // e.g. white balance, or colour effect. + WORD id; + + // Text associated with the setting type. + LTEXT text; + + // Array of all possible values for this user scene setup list item + STRUCT user_scene_setup_list_item_values[]; + } + + +//---------------------------------------------------- +// +// CAM_USER_SCENE_SETUP_LIST_ITEM_VALUE +// A possible value, and associated text +// for an item of the user scene setup list. +// +//---------------------------------------------------- +// +STRUCT CAM_USER_SCENE_SETUP_LIST_ITEM_VALUE + { + // Settings model Id for this user setup scene list item value + WORD id; + + // Associated text with the user setup scene list item value. + LTEXT text; + } + +//---------------------------------------------------- +// +// CAM_STATIC_SETTING_ITEM_DATA +// The initialisation data for a static setting item. +// +//---------------------------------------------------- +// +STRUCT CAM_STATIC_SETTING_ITEM_DATA + { + // Settings model Id for this item. + WORD id; + + // The shared data key for the item. + LTEXT key; + + // Default value, if there is no value in shared data. + //WORD default; + + } + +//---------------------------------------------------- +// +// CAM_SETTING_ITEMS_DEFAULT_DATA +// Default values for a list of settings items. +// +//---------------------------------------------------- +// +STRUCT CAM_SETTING_ITEMS_DEFAULT_DATA + { + // Array of all possible values for this user scene setup list item + STRUCT settings_default_values[]; + } + +//---------------------------------------------------- +// +// CAM_NON_STATIC_SETTING_ITEM_DATA +// The data for a non-static setting item. +// +//---------------------------------------------------- +// +STRUCT CAM_NON_STATIC_SETTING_ITEM_DATA + { + // Settings model Id for this item. + WORD id; + + // Default value. + WORD default; + } + + + +//---------------------------------------------------- +// +// CAM_SCENE_SETTING_ITEM_DATA +// The data for a scene setting item. +// +//---------------------------------------------------- +// +STRUCT CAM_SCENE_SETTING_ITEM_DATA + { + // Settings model Id for this scene item. + WORD id; + + // Array of settings for this scene item + STRUCT scene_items[]; + } + +//---------------------------------------------------- +// +// CAM_SCENE_SETTINGS_DATA_REF +// Reference to a scene's settings data. +// +//---------------------------------------------------- +// +STRUCT CAM_SCENE_SETTINGS_DATA_REF + { + LLINK scene_settings_data_ref = 0; + } + +//---------------------------------------------------- +// +// CAM_SETTING_ITEMS_DATA +// Data for a list of settings items. +// +//---------------------------------------------------- +// +STRUCT CAM_SCENE_SETTING_DATA + { + WORD scene_item_id; + // Array of setting items data. + STRUCT settings_items[]; + } + + +//---------------------------------------------------- +// +// CAM_SETTING_ITEMS_DATA +// Data for a list of settings items. +// +//---------------------------------------------------- +// +STRUCT CAM_SETTING_ITEMS_DATA + { + // Array of setting items data. + STRUCT settings_items[]; + } + +// ----------------------------------------------------------------------------- +// CAM_ENGINE_UPDATE +// This structure is for defining whether the engine needs to be updated with +// settings after a prepare. +// ----------------------------------------------------------------------------- +// +STRUCT CAM_ENGINE_UPDATE + { + WORD update; + } + +// ----------------------------------------------------------------------------- +// CAM_VIDEO_QUALITY_LEVEL +// Structure holding parameters for video quality setting item +// +// ----------------------------------------------------------------------------- +// +STRUCT CAM_VIDEO_QUALITY_LEVEL + { + // Id for this quality level + WORD id; + + // Id of the resolution to use (may be overridden by separate + // resolution setting) + WORD resolution; + + // Target frame rate of video (frames per second) + DOUBLE frame_rate; + + // Desired bit rate of video (bits per second) + LONG bit_rate; + + // Desired bit rate of audio (bits per second) + LONG audio_bit_rate; + + // Mime type for video. If not specified, the value in shared data + // (101F8667.ini) is used. + LTEXT mime_type = ""; + + // Preferred supplier for MMF camcorder plugin. If not specified, the + // value in shared data (101F8667.ini) is used. + LTEXT16 preferred_supplier = ""; + + // Video codec. If not specified, the + // value in shared data (101F8667.ini) is used. + LTEXT video_type = ""; + + // Audio codec (FOURCC). If not specified, the + // value in shared data (101F8667.ini) is used. + LTEXT audio_type = ""; + + // video file type id + WORD file_type = ECamVideoMpeg4; + + // video length (long or short) + WORD video_length = ECamVideoClipMax; + // + } + +//---------------------------------------------------- +// +// CAM_VIDEO_QUALITY_ARRAY +// Array of all video quality levels +// +//---------------------------------------------------- +// +STRUCT CAM_VIDEO_QUALITY_ARRAY + { + // Data for all quality levels + STRUCT quality_levels[]; + } + +// ----------------------------------------------------------------------------- +// CAM_PHOTO_QUALITY_LEVEL +// Structure holding parameters for photo quality setting item +// +// ----------------------------------------------------------------------------- +// +STRUCT CAM_PHOTO_QUALITY_LEVEL + { + // Id for this quality level + WORD id; + + // Id of the resolution to use (may be overridden by separate + // resolution setting) + WORD resolution; + + // Photo quality + WORD quality; + } + +//---------------------------------------------------- +// +// CAM_PHOTO_QUALITY_ARRAY +// Array of all photo quality levels +// +//---------------------------------------------------- +// +STRUCT CAM_PHOTO_QUALITY_ARRAY + { + // Data for all quality levels + STRUCT quality_levels[]; + } + +//---------------------------------------------------- +// +// CAM_RESOLUTION +// Numeric data for a photo/video resolution preset. +// +//---------------------------------------------------- +// +STRUCT CAM_RESOLUTION + { + WORD width; + WORD height; + } + +//---------------------------------------------------- +// +// CAM_RESOLUTION_ARRAY +// Array of all photo/video resolutions +// +//---------------------------------------------------- +// +STRUCT CAM_RESOLUTION_ARRAY + { + // Data for video resolutions + STRUCT resolutions[]; + } + +//---------------------------------------------------- +// +// CAM_QUALITY_SLIDER +// Text strings for quality slider control +// +//---------------------------------------------------- +// +STRUCT CAM_QUALITY_SLIDER + { + LTEXT title_text = ""; + LTEXT subtitle_text_top = ""; + LTEXT subtitle_text_bottom = ""; + LTEXT remaining_text = ""; + STRUCT setting_title_texts[]; + STRUCT setting_desc_texts[]; + WORD setting_enum[]; + } + +//---------------------------------------------------- +// +// CAM_QUALITY_SLIDER_LAYOUT +// Layouts for quality slider control +// +//---------------------------------------------------- +// +STRUCT CAM_QUALITY_SLIDER_LAYOUT + { + STRUCT slider_position; + STRUCT subtitle_top; + STRUCT subtitle_bottom; + STRUCT setting_title; + STRUCT setting_descriptions[]; + STRUCT remaining_title; + STRUCT remaining_text; + STRUCT storage_icon; + STRUCT desc_rect; + STRUCT desc_inner_rect1; + STRUCT desc_inner_rect2; + } + +STRUCT CAM_DECORATIONS + { + STRUCT decorations[]; + } + +STRUCT CAM_DECORATION + { + WORD type; + STRUCT decoration; + } + +STRUCT CAM_BLENDED_BACKGROUND + { + WORD tl_x; + WORD tl_y; + WORD width; + } + +STRUCT CAM_DVF_BLANKER + { + WORD tl_x; + WORD tl_y; + WORD width; + WORD height; + } + +STRUCT CAM_RECORDING_ICON + { + WORD tl_x; + WORD tl_y; + WORD width; + WORD height; + } + +#include "CamModeSelect.rh" + +STRUCT CAM_ACTIVE_PALETTE_ITEM + { + LONG item_id = -1; + LONG cmd_id; + BYTE position = -1; + BYTE isVisible = 1; + BYTE type; + } + + STRUCT CAM_AP_POST_CAPTURE_ITEM + { + LTEXT text; + LONG bitmap_id; + } + + STRUCT CAM_AP_TT_ITEM + { + LTEXT text; + } +