# HG changeset patch # User MattD # Date 1270129819 -3600 # Node ID 0d4ac38889fc31423dac6530d061b1a481d96528 # Parent 61e9ae0acf5f9d70ec8e1a62736a4d978f081c4b# Parent db99fd9fcd1c36699f40f232c5ea3a609eeb192d Merged in kashif's, fdim's and my removal of abld.bat and .cproject files onto the fixed up version of Christian's head. diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/S3libs/AKNSKINSRV.lib Binary file dependencies/S3libs/AKNSKINSRV.lib has changed diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/S3libs/bld.inf --- a/dependencies/S3libs/bld.inf Thu Apr 01 12:25:43 2010 +0100 +++ b/dependencies/S3libs/bld.inf Thu Apr 01 14:50:19 2010 +0100 @@ -25,4 +25,5 @@ javaregistryclient.lib \epoc32\release\winscw\udeb\javaregistryclient.lib DrmRightsInfo.lib \epoc32\release\winscw\udeb\DrmRightsInfo.lib SWInstCli.lib \epoc32\release\winscw\udeb\SWInstCli.lib -peninputClient.lib \epoc32\release\winscw\udeb\peninputClient.lib \ No newline at end of file +fbscli.lib \epoc32\release\winscw\udeb\fbscli.lib +peninputClient.lib \epoc32\release\winscw\udeb\peninputclient.lib \ No newline at end of file diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/S3libs/fbscli.lib Binary file dependencies/S3libs/fbscli.lib has changed diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/aknlayout.lag --- a/dependencies/aknlayout.lag Thu Apr 01 12:25:43 2010 +0100 +++ b/dependencies/aknlayout.lag Thu Apr 01 14:50:19 2010 +0100 @@ -1,20 +1,1090 @@ -/* -* ============================================================================ -* Name : aknlayout.lag -* Part of : Avkon -* Copyright (c) 2002 Nokia Corporation -* ============================================================================ -*/ - -#if !defined(__aknlayout_LAG__) -#define __aknlayout_LAG__ - -class TAknTextLineLayout; -class TAknWindowLineLayout; -class TAknMultiLineTextLayout; - -// New for backport -#include "platform/mw/AknLayout.lag" - -#define AKN_LAYOUT_WINDOW_screen AknLayout::screen() -#endif +// ..\cdl\AknLayout.lag generated by: +// AknLayoutCompiler Cdl2Lag ..\cdl\AknLayout.lag ..\cdl\AknLayout.cdl ..\cdl\AknApacLayout.cdl +#if !defined(AKNLAYOUT_LAG) +#define AKNLAYOUT_LAG +#include +#define AKN_LAYOUT_WINDOW_screen AknLayout::screen() +#define AKN_LAYOUT_WINDOW_application_window AknLayout::application_window +#define AKN_LAYOUT_WINDOW_status_pane AknLayout::status_pane +#define AKN_LAYOUT_WINDOW_main_pane AknLayout::main_pane +#define AKN_LAYOUT_WINDOW_control_pane AknLayout::control_pane +#define AKN_LAYOUT_WINDOW_signal_pane AknLayout::signal_pane +#define AKN_LAYOUT_WINDOW_context_pane AknLayout::context_pane +#define AKN_LAYOUT_WINDOW_title_pane AknLayout::title_pane +#define AKN_LAYOUT_WINDOW_battery_pane AknLayout::battery_pane +#define AKN_LAYOUT_WINDOW_uni_indicator_pane AknLayout::uni_indicator_pane +#define AKN_LAYOUT_WINDOW_navi_pane AknLayout::navi_pane +#define AKN_LAYOUT_WINDOW_Status_pane_elements_Line_1 AknLayout::Status_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Status_pane_elements_Line_2 AknLayout::Status_pane_elements_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Status_pane_elements_Limits AknLayout::Status_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Status_pane_elements AknLayout::Status_pane_elements +#define AKN_LAYOUT_WINDOW_Signal_pane_elements_Line_1 AknLayout::Signal_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Signal_pane_elements_Line_2 AknLayout::Signal_pane_elements_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Signal_pane_elements_Limits AknLayout::Signal_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Signal_pane_elements AknLayout::Signal_pane_elements +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_1 AknLayout::Signal_strength_area_values_Line_1() +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_2 AknLayout::Signal_strength_area_values_Line_2() +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_3 AknLayout::Signal_strength_area_values_Line_3() +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_4 AknLayout::Signal_strength_area_values_Line_4() +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_5 AknLayout::Signal_strength_area_values_Line_5() +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_6 AknLayout::Signal_strength_area_values_Line_6() +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_7 AknLayout::Signal_strength_area_values_Line_7() +#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_8 AknLayout::Signal_strength_area_values_Line_8() +#define AKN_LAYOUT_TABLE_LIMITS_Signal_strength_area_values_Limits AknLayout::Signal_strength_area_values_Limits() +#define AKN_LAYOUT_TABLE_Signal_strength_area_values AknLayout::Signal_strength_area_values +#define AKN_LAYOUT_WINDOW_Battery_pane_elements_Line_1 AknLayout::Battery_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Battery_pane_elements_Line_2 AknLayout::Battery_pane_elements_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Battery_pane_elements_Limits AknLayout::Battery_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Battery_pane_elements AknLayout::Battery_pane_elements +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_1 AknLayout::Battery_strength_area_values_Line_1() +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_2 AknLayout::Battery_strength_area_values_Line_2() +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_3 AknLayout::Battery_strength_area_values_Line_3() +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_4 AknLayout::Battery_strength_area_values_Line_4() +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_5 AknLayout::Battery_strength_area_values_Line_5() +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_6 AknLayout::Battery_strength_area_values_Line_6() +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_7 AknLayout::Battery_strength_area_values_Line_7() +#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_8 AknLayout::Battery_strength_area_values_Line_8() +#define AKN_LAYOUT_TABLE_LIMITS_Battery_strength_area_values_Limits AknLayout::Battery_strength_area_values_Limits() +#define AKN_LAYOUT_TABLE_Battery_strength_area_values AknLayout::Battery_strength_area_values +#define AKN_LAYOUT_WINDOW_Context_pane_elements_Line_1 AknLayout::Context_pane_elements_Line_1() +#define AKN_LAYOUT_TEXT_Title_pane_texts_Line_1 AknLayout::Title_pane_texts_Line_1 +#define AKN_LAYOUT_TEXT_Title_pane_texts_Line_2 AknLayout::Title_pane_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Title_pane_texts_Line_2 AknLayout::Multiline_Title_pane_texts_Line_2 +#define AKN_LAYOUT_WINDOW_Title_pane_elements_Line_1 AknLayout::Title_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Universal_indicator_pane_elements_Line_1 AknLayout::Universal_indicator_pane_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Navi_pane_arrow_elements_Line_1 AknLayout::Navi_pane_arrow_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Navi_pane_arrow_elements_Line_2 AknLayout::Navi_pane_arrow_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_1 AknLayout::Navi_pane_tab_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_2 AknLayout::Navi_pane_tab_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_3 AknLayout::Navi_pane_tab_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_4 AknLayout::Navi_pane_tab_elements_Line_4() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_5 AknLayout::Navi_pane_tab_elements_Line_5() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_6 AknLayout::Navi_pane_tab_elements_Line_6() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_7 AknLayout::Navi_pane_tab_elements_Line_7() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_8 AknLayout::Navi_pane_tab_elements_Line_8() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_9 AknLayout::Navi_pane_tab_elements_Line_9() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_10 AknLayout::Navi_pane_tab_elements_Line_10() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_11 AknLayout::Navi_pane_tab_elements_Line_11() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_12 AknLayout::Navi_pane_tab_elements_Line_12() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_13 AknLayout::Navi_pane_tab_elements_Line_13() +#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_14 AknLayout::Navi_pane_tab_elements_Line_14() +#define AKN_LAYOUT_TABLE_LIMITS_Navi_pane_tab_elements_Limits AknLayout::Navi_pane_tab_elements_Limits() +#define AKN_LAYOUT_TABLE_Navi_pane_tab_elements AknLayout::Navi_pane_tab_elements +#define AKN_LAYOUT_WINDOW_Elements_on_the_tabs_Line_1 AknLayout::Elements_on_the_tabs_Line_1 +#define AKN_LAYOUT_WINDOW_Elements_on_the_tabs_Line_2 AknLayout::Elements_on_the_tabs_Line_2 +#define AKN_LAYOUT_WINDOW_Elements_on_the_tabs_Line_3 AknLayout::Elements_on_the_tabs_Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_Elements_on_the_tabs_Limits AknLayout::Elements_on_the_tabs_Limits() +#define AKN_LAYOUT_TABLE_Elements_on_the_tabs AknLayout::Elements_on_the_tabs +#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_1 AknLayout::Texts_on_the_tabs_Line_1 +#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_2 AknLayout::Texts_on_the_tabs_Line_2 +#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_3 AknLayout::Texts_on_the_tabs_Line_3 +#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_4 AknLayout::Texts_on_the_tabs_Line_4 +#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_5 AknLayout::Texts_on_the_tabs_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Texts_on_the_tabs_Limits AknLayout::Texts_on_the_tabs_Limits() +#define AKN_LAYOUT_TABLE_Texts_on_the_tabs AknLayout::Texts_on_the_tabs +#define AKN_LAYOUT_WINDOW_Navi_pane_icons_Line_1 AknLayout::Navi_pane_icons_Line_1() +#define AKN_LAYOUT_WINDOW_Navi_pane_icons_Line_2 AknLayout::Navi_pane_icons_Line_2 +#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_1 AknLayout::Navi_pane_texts_Line_1 +#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_2 AknLayout::Navi_pane_texts_Line_2 +#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_3 AknLayout::Navi_pane_texts_Line_3 +#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_4 AknLayout::Navi_pane_texts_Line_4() +#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_5 AknLayout::Navi_pane_texts_Line_5() +#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_6 AknLayout::Navi_pane_texts_Line_6 +#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_7 AknLayout::Navi_pane_texts_Line_7 +#define AKN_LAYOUT_WINDOW_Navi_pane_area_for_editing_status_icons_Line_1 AknLayout::Navi_pane_area_for_editing_status_icons_Line_1() +#define AKN_LAYOUT_WINDOW_Volume_glider_elements__one__Line_1 AknLayout::Volume_glider_elements__one__Line_1 +#define AKN_LAYOUT_WINDOW_volume_navi_pane AknLayout::volume_navi_pane +#define AKN_LAYOUT_TABLE_LIMITS_Volume_glider_elements__one__Limits AknLayout::Volume_glider_elements__one__Limits() +#define AKN_LAYOUT_TABLE_Volume_glider_elements__one_ AknLayout::Volume_glider_elements__one_ +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_1 AknLayout::Volume_pane_elements__one__Line_1 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_2 AknLayout::Volume_pane_elements__one__Line_2 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_3 AknLayout::Volume_pane_elements__one__Line_3 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_4 AknLayout::Volume_pane_elements__one__Line_4 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_5 AknLayout::Volume_pane_elements__one__Line_5 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_6 AknLayout::Volume_pane_elements__one__Line_6 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_7 AknLayout::Volume_pane_elements__one__Line_7 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_8 AknLayout::Volume_pane_elements__one__Line_8 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_9 AknLayout::Volume_pane_elements__one__Line_9 +#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_10 AknLayout::Volume_pane_elements__one__Line_10 +#define AKN_LAYOUT_TABLE_LIMITS_Volume_pane_elements__one__Limits AknLayout::Volume_pane_elements__one__Limits() +#define AKN_LAYOUT_TABLE_Volume_pane_elements__one_ AknLayout::Volume_pane_elements__one_ +#define AKN_LAYOUT_WINDOW_list_gen_pane AknLayout::list_gen_pane +#define AKN_LAYOUT_WINDOW_find_pane AknLayout::find_pane() +#define AKN_LAYOUT_WINDOW_wallpaper_pane AknLayout::wallpaper_pane() +#define AKN_LAYOUT_WINDOW_indicator_pane AknLayout::indicator_pane() +#define AKN_LAYOUT_WINDOW_soft_indicator_pane AknLayout::soft_indicator_pane +#define AKN_LAYOUT_WINDOW_A_column AknLayout::A_column() +#define AKN_LAYOUT_WINDOW_B_column AknLayout::B_column() +#define AKN_LAYOUT_WINDOW_C_column AknLayout::C_column() +#define AKN_LAYOUT_WINDOW_D_column AknLayout::D_column() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_column_division_Limits AknLayout::List_pane_column_division_Limits() +#define AKN_LAYOUT_TABLE_List_pane_column_division AknLayout::List_pane_column_division +#define AKN_LAYOUT_WINDOW_list_single_pane AknLayout::list_single_pane +#define AKN_LAYOUT_WINDOW_list_single_number_pane AknLayout::list_single_number_pane +#define AKN_LAYOUT_WINDOW_list_single_heading_pane AknLayout::list_single_heading_pane +#define AKN_LAYOUT_WINDOW_list_single_graphic_pane AknLayout::list_single_graphic_pane +#define AKN_LAYOUT_WINDOW_list_single_graphic_heading_pane AknLayout::list_single_graphic_heading_pane +#define AKN_LAYOUT_WINDOW_list_single_number_heading_pane AknLayout::list_single_number_heading_pane +#define AKN_LAYOUT_WINDOW_list_single_large_graphic_pane AknLayout::list_single_large_graphic_pane +#define AKN_LAYOUT_WINDOW_list_double_pane AknLayout::list_double_pane +#define AKN_LAYOUT_WINDOW_list_double2_pane AknLayout::list_double2_pane +#define AKN_LAYOUT_WINDOW_list_double_number_pane_list_single_big_number_pane AknLayout::list_double_number_pane_list_single_big_number_pane +#define AKN_LAYOUT_WINDOW_list_double_time_pane AknLayout::list_double_time_pane +#define AKN_LAYOUT_WINDOW_list_double_large_graphic_pane_list_double2_large_graphic_pane_list_single_big_large_graphic_pane AknLayout::list_double_large_graphic_pane_list_double2_large_graphic_pane_list_single_big_large_graphic_pane +#define AKN_LAYOUT_WINDOW_list_double_graphic_pane_list_double2_graphic_pane AknLayout::list_double_graphic_pane_list_double2_graphic_pane +#define AKN_LAYOUT_WINDOW_list_single_big_heading_graphic_pane AknLayout::list_single_big_heading_graphic_pane +#define AKN_LAYOUT_WINDOW_list_single_big_heading_pane AknLayout::list_single_big_heading_pane +#define AKN_LAYOUT_WINDOW_list_setting_pane_list_big_setting_pane AknLayout::list_setting_pane_list_big_setting_pane +#define AKN_LAYOUT_WINDOW_list_setting_number_pane_list_big_setting_number_pane AknLayout::list_setting_number_pane_list_big_setting_number_pane +#define AKN_LAYOUT_WINDOW_list_setting_double2_pane AknLayout::list_setting_double2_pane +#define AKN_LAYOUT_WINDOW_list_double2_graphic_pane AknLayout::list_double2_graphic_pane +#define AKN_LAYOUT_WINDOW_list_double2_large_graphic_pane AknLayout::list_double2_large_graphic_pane +#define AKN_LAYOUT_WINDOW_list_single_2graphic_pane AknLayout::list_single_2graphic_pane +#define AKN_LAYOUT_WINDOW_list_double2_graphic_large_graphic_pane AknLayout::list_double2_graphic_large_graphic_pane +#define AKN_LAYOUT_TABLE_LIMITS_General_list_pane_descendants_Limits AknLayout::General_list_pane_descendants_Limits() +#define AKN_LAYOUT_TABLE_General_list_pane_descendants AknLayout::General_list_pane_descendants +#define AKN_LAYOUT_WINDOW_List_pane_elements__single__Line_1 AknLayout::List_pane_elements__single__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single__Line_2 AknLayout::List_pane_elements__single__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__single__Line_1 AknLayout::List_pane_texts__single__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number__Line_1 AknLayout::List_pane_elements__single_number__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number__Line_2 AknLayout::List_pane_elements__single_number__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_number__Line_1 AknLayout::List_pane_texts__single_number__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__single_number__Line_2 AknLayout::List_pane_texts__single_number__Line_2 +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_1 AknLayout::List_pane_elements__single_heading__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_2 AknLayout::List_pane_elements__single_heading__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_3 AknLayout::List_pane_elements__single_heading__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_heading__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_heading__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__single_heading__SUB_TABLE_0 AknLayout::List_pane_elements__single_heading__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_heading__Line_1 AknLayout::List_pane_texts__single_heading__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_heading__Line_2 AknLayout::List_pane_texts__single_heading__Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__single_heading__Limits AknLayout::List_pane_texts__single_heading__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__single_heading_ AknLayout::List_pane_texts__single_heading_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic__Line_1 AknLayout::List_pane_elements__single_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic__Line_2 AknLayout::List_pane_elements__single_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic__Line_3 AknLayout::List_pane_elements__single_graphic__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__single_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__single_graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_graphic__Line_1 AknLayout::List_pane_texts__single_graphic__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_1 AknLayout::List_pane_elements__single_graphic_heading__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_2 AknLayout::List_pane_elements__single_graphic_heading__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_3 AknLayout::List_pane_elements__single_graphic_heading__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_4 AknLayout::List_pane_elements__single_graphic_heading__Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_graphic_heading__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_graphic_heading__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__single_graphic_heading__SUB_TABLE_0 AknLayout::List_pane_elements__single_graphic_heading__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_graphic_heading__Line_1 AknLayout::List_pane_texts__single_graphic_heading__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_graphic_heading__Line_2 AknLayout::List_pane_texts__single_graphic_heading__Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__single_graphic_heading__Limits AknLayout::List_pane_texts__single_graphic_heading__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__single_graphic_heading_ AknLayout::List_pane_texts__single_graphic_heading_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number_heading__Line_1 AknLayout::List_pane_elements__single_number_heading__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number_heading__Line_2 AknLayout::List_pane_elements__single_number_heading__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number_heading__Line_3 AknLayout::List_pane_elements__single_number_heading__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_number_heading__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_number_heading__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__single_number_heading__SUB_TABLE_0 AknLayout::List_pane_elements__single_number_heading__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_number_heading__Line_1 AknLayout::List_pane_texts__single_number_heading__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_number_heading__Line_2 AknLayout::List_pane_texts__single_number_heading__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_number_heading__Line_3 AknLayout::List_pane_texts__single_number_heading__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__single_number_heading__Limits AknLayout::List_pane_texts__single_number_heading__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__single_number_heading_ AknLayout::List_pane_texts__single_number_heading_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_large_graphic__Line_1 AknLayout::List_pane_elements__single_large_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_large_graphic__Line_2 AknLayout::List_pane_elements__single_large_graphic__Line_2 +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_large_graphic__Line_3 AknLayout::List_pane_elements__single_large_graphic__Line_3 +#define AKN_LAYOUT_WINDOW_do_not_use_empty_pane1 AknLayout::do_not_use_empty_pane1() +#define AKN_LAYOUT_WINDOW_do_not_use_empty_pane2 AknLayout::do_not_use_empty_pane2() +#define AKN_LAYOUT_TEXT_List_pane_texts__single_large_graphic__Line_1 AknLayout::List_pane_texts__single_large_graphic__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__double__Line_1 AknLayout::List_pane_elements__double__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double__Line_2 AknLayout::List_pane_elements__double__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__double__Line_1 AknLayout::List_pane_texts__double__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__double__Line_2 AknLayout::List_pane_texts__double__Line_2() +#define AKN_LAYOUT_TEXT_List_pane_text__double2__Line_1 AknLayout::List_pane_text__double2__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_text__double2__Line_2 AknLayout::List_pane_text__double2__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_number__Line_1 AknLayout::List_pane_elements__double_number__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_number__Line_2 AknLayout::List_pane_elements__double_number__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__double_number__Line_1 AknLayout::List_pane_texts__double_number__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__double_number__Line_2 AknLayout::List_pane_texts__double_number__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__double_number__Line_3 AknLayout::List_pane_texts__double_number__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_graphic__Line_1 AknLayout::List_pane_elements__double_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_graphic__Line_2 AknLayout::List_pane_elements__double_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_graphic__Line_3 AknLayout::List_pane_elements__double_graphic__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double_graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__double_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double_graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__double_graphic__Line_1 AknLayout::List_pane_texts__double_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__double_graphic__Line_2 AknLayout::List_pane_texts__double_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic__Line_1 AknLayout::List_pane_elements__double2_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic__Line_2 AknLayout::List_pane_elements__double2_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic__Line_3 AknLayout::List_pane_elements__double2_graphic__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double2_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double2_graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__double2_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double2_graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic__Line_1 AknLayout::List_pane_texts__double2_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic__Line_2 AknLayout::List_pane_texts__double2_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_large_graphic__Line_1 AknLayout::List_pane_elements__double2_large_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_large_graphic__Line_2 AknLayout::List_pane_elements__double2_large_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_large_graphic__Line_3 AknLayout::List_pane_elements__double2_large_graphic__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double2_large_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double2_large_graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__double2_large_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double2_large_graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__double2_large_graphic__Line_1 AknLayout::List_pane_texts__double2_large_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__double2_large_graphic__Line_2 AknLayout::List_pane_texts__double2_large_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading_graphic__Line_1 AknLayout::List_pane_elements__large_single_heading_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading_graphic__Line_2 AknLayout::List_pane_elements__large_single_heading_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading_graphic__Line_3 AknLayout::List_pane_elements__large_single_heading_graphic__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__large_single_heading_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__large_single_heading_graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__large_single_heading_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__large_single_heading_graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading_graphic__Line_1 AknLayout::List_pane_texts__large_single_heading_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading_graphic__Line_2 AknLayout::List_pane_texts__large_single_heading_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading__Line_1 AknLayout::List_pane_elements__large_single_heading__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading__Line_1 AknLayout::List_pane_texts__large_single_heading__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading__Line_2 AknLayout::List_pane_texts__large_single_heading__Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__large_single_heading__Limits AknLayout::List_pane_texts__large_single_heading__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__large_single_heading_ AknLayout::List_pane_texts__large_single_heading_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_time__Line_1 AknLayout::List_pane_elements__double_time__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_1 AknLayout::List_pane_texts__double_time__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_2 AknLayout::List_pane_texts__double_time__Line_2() +#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_3 AknLayout::List_pane_texts__double_time__Line_3() +#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_4 AknLayout::List_pane_texts__double_time__Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__double_time__Limits AknLayout::List_pane_texts__double_time__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__double_time_ AknLayout::List_pane_texts__double_time_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_1 AknLayout::List_pane_elements__double_large_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_2 AknLayout::List_pane_elements__double_large_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_3 AknLayout::List_pane_elements__double_large_graphic__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_4 AknLayout::List_pane_elements__double_large_graphic__Line_4() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_5 AknLayout::List_pane_elements__double_large_graphic__Line_5() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_6 AknLayout::List_pane_elements__double_large_graphic__Line_6() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_7 AknLayout::List_pane_elements__double_large_graphic__Line_7() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_8 AknLayout::List_pane_elements__double_large_graphic__Line_8() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_9 AknLayout::List_pane_elements__double_large_graphic__Line_9 +#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_10 AknLayout::List_pane_elements__double_large_graphic__Line_10() +#define AKN_LAYOUT_TEXT_List_pane_texts__double_large_graphic__Line_1 AknLayout::List_pane_texts__double_large_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__double_large_graphic__Line_2 AknLayout::List_pane_texts__double_large_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_1 AknLayout::List_pane_elements__setting__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_2 AknLayout::List_pane_elements__setting__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_3 AknLayout::List_pane_elements__setting__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_4 AknLayout::List_pane_elements__setting__Line_4() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_5 AknLayout::List_pane_elements__setting__Line_5() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_6 AknLayout::List_pane_elements__setting__Line_6() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__setting__Limits AknLayout::List_pane_elements__setting__Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__setting_ AknLayout::List_pane_elements__setting_ +#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_1 AknLayout::List_pane_texts__setting__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_2 AknLayout::List_pane_texts__setting__Line_2() +#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_3 AknLayout::List_pane_texts__setting__Line_3() +#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_4 AknLayout::List_pane_texts__setting__Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__setting__Limits AknLayout::List_pane_texts__setting__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__setting_ AknLayout::List_pane_texts__setting_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_1 AknLayout::List_pane_elements__setting_number__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_2 AknLayout::List_pane_elements__setting_number__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_3 AknLayout::List_pane_elements__setting_number__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_4 AknLayout::List_pane_elements__setting_number__Line_4() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_5 AknLayout::List_pane_elements__setting_number__Line_5() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__setting_number__Limits AknLayout::List_pane_elements__setting_number__Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__setting_number_ AknLayout::List_pane_elements__setting_number_ +#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_1 AknLayout::List_pane_texts__setting_number__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_2 AknLayout::List_pane_texts__setting_number__Line_2() +#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_3 AknLayout::List_pane_texts__setting_number__Line_3() +#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_4 AknLayout::List_pane_texts__setting_number__Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__setting_number__Limits AknLayout::List_pane_texts__setting_number__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__setting_number_ AknLayout::List_pane_texts__setting_number_ +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_1 AknLayout::Setting_volume_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_2 AknLayout::Setting_volume_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_3 AknLayout::Setting_volume_elements_Line_3 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_4 AknLayout::Setting_volume_elements_Line_4 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_5 AknLayout::Setting_volume_elements_Line_5 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_6 AknLayout::Setting_volume_elements_Line_6 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_7 AknLayout::Setting_volume_elements_Line_7 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_8 AknLayout::Setting_volume_elements_Line_8 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_9 AknLayout::Setting_volume_elements_Line_9 +#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_10 AknLayout::Setting_volume_elements_Line_10 +#define AKN_LAYOUT_TABLE_LIMITS_Setting_volume_elements_Limits AknLayout::Setting_volume_elements_Limits() +#define AKN_LAYOUT_TABLE_Setting_volume_elements AknLayout::Setting_volume_elements +#define AKN_LAYOUT_WINDOW_Setting_slider_elements_Line_1 AknLayout::Setting_slider_elements_Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_double2__Line_1 AknLayout::List_pane_elements__setting_double2__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_double2__Line_2 AknLayout::List_pane_elements__setting_double2__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_double2__Line_3 AknLayout::List_pane_elements__setting_double2__Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__setting_double2__Limits AknLayout::List_pane_elements__setting_double2__Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__setting_double2_ AknLayout::List_pane_elements__setting_double2_ +#define AKN_LAYOUT_WINDOW_List_pane_lines__A_column__Line_1 AknLayout::List_pane_lines__A_column__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_lines__A_column__Line_2 AknLayout::List_pane_lines__A_column__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_lines__AB_columns__Line_1 AknLayout::List_pane_lines__AB_columns__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_lines__AB_columns__Line_2 AknLayout::List_pane_lines__AB_columns__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_lines__BC_columns__Line_1 AknLayout::List_pane_lines__BC_columns__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_lines__BC_columns__Line_2 AknLayout::List_pane_lines__BC_columns__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_1 AknLayout::List_pane_highlight_graphics__various__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_2 AknLayout::List_pane_highlight_graphics__various__Line_2 +#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_3 AknLayout::List_pane_highlight_graphics__various__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_highlight_graphics__various__SUB_TABLE_0_Limits AknLayout::List_pane_highlight_graphics__various__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_highlight_graphics__various__SUB_TABLE_0 AknLayout::List_pane_highlight_graphics__various__SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__setting_number__Line_1 AknLayout::List_pane_highlight_graphics__setting_number__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__setting_number__Line_2 AknLayout::List_pane_highlight_graphics__setting_number__Line_2 +#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__setting_number__Line_3 AknLayout::List_pane_highlight_graphics__setting_number__Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_highlight_graphics__setting_number__SUB_TABLE_0_Limits AknLayout::List_pane_highlight_graphics__setting_number__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_highlight_graphics__setting_number__SUB_TABLE_0 AknLayout::List_pane_highlight_graphics__setting_number__SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_1 AknLayout::Find_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_2 AknLayout::Find_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_3 AknLayout::Find_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_4 AknLayout::Find_pane_elements_Line_4() +#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_5 AknLayout::Find_pane_elements_Line_5() +#define AKN_LAYOUT_TABLE_LIMITS_Find_pane_elements_Limits AknLayout::Find_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Find_pane_elements AknLayout::Find_pane_elements +#define AKN_LAYOUT_TEXT_Find_pane_texts_Line_1 AknLayout::Find_pane_texts_Line_1() +#define AKN_LAYOUT_WINDOW_form_field_data_pane AknLayout::form_field_data_pane +#define AKN_LAYOUT_WINDOW_form_field_data_wide_pane AknLayout::form_field_data_wide_pane +#define AKN_LAYOUT_WINDOW_form_field_popup_pane AknLayout::form_field_popup_pane +#define AKN_LAYOUT_WINDOW_form_field_popup_wide_pane AknLayout::form_field_popup_wide_pane +#define AKN_LAYOUT_WINDOW_form_field_slider_pane AknLayout::form_field_slider_pane +#define AKN_LAYOUT_WINDOW_form_field_slider_wide_pane AknLayout::form_field_slider_wide_pane +#define AKN_LAYOUT_TABLE_LIMITS_Form_descendant_panes_Limits AknLayout::Form_descendant_panes_Limits() +#define AKN_LAYOUT_TABLE_Form_descendant_panes AknLayout::Form_descendant_panes +#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_1 AknLayout::Form_data_field_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_2 AknLayout::Form_data_field_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_3 AknLayout::Form_data_field_elements_Line_3 +#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_4 AknLayout::Form_data_field_elements_Line_4() +#define AKN_LAYOUT_TEXT_Form_data_field_texts_Line_1 AknLayout::Form_data_field_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_field_texts_Line_1 AknLayout::Multiline_Form_data_field_texts_Line_1 +#define AKN_LAYOUT_TEXT_Form_data_field_texts_Line_2 AknLayout::Form_data_field_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_field_texts_Line_2 AknLayout::Multiline_Form_data_field_texts_Line_2 +#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_1 AknLayout::Form_data_wide_field_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_2 AknLayout::Form_data_wide_field_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_3 AknLayout::Form_data_wide_field_elements_Line_3 +#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_4 AknLayout::Form_data_wide_field_elements_Line_4() +#define AKN_LAYOUT_TEXT_Form_data_wide_field_texts_Line_1 AknLayout::Form_data_wide_field_texts_Line_1() +#define AKN_LAYOUT_TEXT_Form_data_wide_field_texts_Line_2 AknLayout::Form_data_wide_field_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_wide_field_texts_Line_2 AknLayout::Multiline_Form_data_wide_field_texts_Line_2 +#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_1 AknLayout::Form_pop_up_field_elements_and_descendants_Line_1 +#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_2 AknLayout::Form_pop_up_field_elements_and_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_3 AknLayout::Form_pop_up_field_elements_and_descendants_Line_3 +#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_4 AknLayout::Form_pop_up_field_elements_and_descendants_Line_4() +#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_5 AknLayout::Form_pop_up_field_elements_and_descendants_Line_5() +#define AKN_LAYOUT_WINDOW_list_form_pane AknLayout::list_form_pane +#define AKN_LAYOUT_WINDOW_list_form_graphic_pane AknLayout::list_form_graphic_pane +#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic__Line_1 AknLayout::List_pane_elements__form_graphic__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic__Line_2 AknLayout::List_pane_elements__form_graphic__Line_2() +#define AKN_LAYOUT_TEXT_List_pane_texts__form_graphic__Line_1 AknLayout::List_pane_texts__form_graphic__Line_1 +#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_1 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_1 +#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_2 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_3 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_3 +#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_4 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_4() +#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_5 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_5() +#define AKN_LAYOUT_WINDOW_list_form_wide_pane AknLayout::list_form_wide_pane +#define AKN_LAYOUT_WINDOW_list_form_graphic_wide_pane AknLayout::list_form_graphic_wide_pane +#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic_wide__Line_1 AknLayout::List_pane_elements__form_graphic_wide__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic_wide__Line_2 AknLayout::List_pane_elements__form_graphic_wide__Line_2() +#define AKN_LAYOUT_TEXT_List_pane_texts__form_graphic_wide__Line_1 AknLayout::List_pane_texts__form_graphic_wide__Line_1 +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_1 AknLayout::Form_slider_field_elements_and_descendants_Line_1 +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_2 AknLayout::Form_slider_field_elements_and_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_3 AknLayout::Form_slider_field_elements_and_descendants_Line_3 +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_4 AknLayout::Form_slider_field_elements_and_descendants_Line_4() +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_5 AknLayout::Form_slider_field_elements_and_descendants_Line_5() +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_6 AknLayout::Form_slider_field_elements_and_descendants_Line_6 +#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__Line_1 AknLayout::Slider_pane_elements__form__Line_1() +#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__Line_2 AknLayout::Slider_pane_elements__form__Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Slider_pane_elements__form__Limits AknLayout::Slider_pane_elements__form__Limits() +#define AKN_LAYOUT_TABLE_Slider_pane_elements__form_ AknLayout::Slider_pane_elements__form_ +#define AKN_LAYOUT_TEXT_Form_slider_field_texts_Line_1 AknLayout::Form_slider_field_texts_Line_1() +#define AKN_LAYOUT_TEXT_Form_slider_field_texts_Line_2 AknLayout::Form_slider_field_texts_Line_2() +#define AKN_LAYOUT_TEXT_Form_slider_field_texts_Line_3 AknLayout::Form_slider_field_texts_Line_3 +#define AKN_LAYOUT_MULTILINE_TEXT_Form_slider_field_texts_Line_3 AknLayout::Multiline_Form_slider_field_texts_Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_Form_slider_field_texts_SUB_TABLE_0_Limits AknLayout::Form_slider_field_texts_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Form_slider_field_texts_SUB_TABLE_0 AknLayout::Form_slider_field_texts_SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_1 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_1 +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_2 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_2() +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_3 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_3 +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_4 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_4() +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_5 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_5() +#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_6 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_6 +#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__dup_Line_1 AknLayout::Slider_pane_elements__form__dup_Line_1() +#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__dup_Line_2 AknLayout::Slider_pane_elements__form__dup_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Slider_pane_elements__form__dup_Limits AknLayout::Slider_pane_elements__form__dup_Limits() +#define AKN_LAYOUT_TABLE_Slider_pane_elements__form__dup AknLayout::Slider_pane_elements__form__dup +#define AKN_LAYOUT_TEXT_Form_slider_field_texts_dup_Line_1 AknLayout::Form_slider_field_texts_dup_Line_1() +#define AKN_LAYOUT_TEXT_Form_slider_field_texts_dup_Line_2 AknLayout::Form_slider_field_texts_dup_Line_2() +#define AKN_LAYOUT_TEXT_Form_slider_field_texts_dup_Line_3 AknLayout::Form_slider_field_texts_dup_Line_3 +#define AKN_LAYOUT_MULTILINE_TEXT_Form_slider_field_texts_dup_Line_3 AknLayout::Multiline_Form_slider_field_texts_dup_Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_Form_slider_field_texts_dup_SUB_TABLE_0_Limits AknLayout::Form_slider_field_texts_dup_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Form_slider_field_texts_dup_SUB_TABLE_0 AknLayout::Form_slider_field_texts_dup_SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Cursor_graphics__13__Line_1 AknLayout::Cursor_graphics__13__Line_1() +#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__13__Line_1 AknLayout::Predictive_text_input_graphics__13__Line_1() +#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__13__Line_2 AknLayout::Predictive_text_input_graphics__13__Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Predictive_text_input_graphics__13__Limits AknLayout::Predictive_text_input_graphics__13__Limits() +#define AKN_LAYOUT_TABLE_Predictive_text_input_graphics__13_ AknLayout::Predictive_text_input_graphics__13_ +#define AKN_LAYOUT_WINDOW_Cut_copy_and_paste_highlight_graphics__13__Line_1 AknLayout::Cut_copy_and_paste_highlight_graphics__13__Line_1() +#define AKN_LAYOUT_WINDOW_Time_and_date_entry_graphics__13__Line_1 AknLayout::Time_and_date_entry_graphics__13__Line_1() +#define AKN_LAYOUT_WINDOW_Cursor_graphics__12__Line_1 AknLayout::Cursor_graphics__12__Line_1() +#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__12__Line_1 AknLayout::Predictive_text_input_graphics__12__Line_1() +#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__12__Line_2 AknLayout::Predictive_text_input_graphics__12__Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Predictive_text_input_graphics__12__Limits AknLayout::Predictive_text_input_graphics__12__Limits() +#define AKN_LAYOUT_TABLE_Predictive_text_input_graphics__12_ AknLayout::Predictive_text_input_graphics__12_ +#define AKN_LAYOUT_WINDOW_Cut_copy_and_paste_highlight_graphics__12__Line_1 AknLayout::Cut_copy_and_paste_highlight_graphics__12__Line_1() +#define AKN_LAYOUT_WINDOW_Time_and_date_entry_graphics__12__Line_1 AknLayout::Time_and_date_entry_graphics__12__Line_1() +#define AKN_LAYOUT_WINDOW_list_set_graphic_pane AknLayout::list_set_graphic_pane +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_graphic__Line_1 AknLayout::List_pane_elements__set_graphic__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_graphic__Line_2 AknLayout::List_pane_elements__set_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_graphic__Line_3 AknLayout::List_pane_elements__set_graphic__Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__set_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__set_graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__set_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__set_graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__set_graphic__Line_1 AknLayout::List_pane_texts__set_graphic__Line_1 +#define AKN_LAYOUT_WINDOW_Application_grid_descendant_Line_1 AknLayout::Application_grid_descendant_Line_1 +#define AKN_LAYOUT_WINDOW_Cell_pane_elements__app__Line_1 AknLayout::Cell_pane_elements__app__Line_1() +#define AKN_LAYOUT_WINDOW_Cell_pane_elements__app__Line_2 AknLayout::Cell_pane_elements__app__Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Cell_pane_elements__app__Limits AknLayout::Cell_pane_elements__app__Limits() +#define AKN_LAYOUT_TABLE_Cell_pane_elements__app_ AknLayout::Cell_pane_elements__app_ +#define AKN_LAYOUT_TEXT_Cell_pane_texts__app__Line_1 AknLayout::Cell_pane_texts__app__Line_1() +#define AKN_LAYOUT_WINDOW_Cell_pane_highlight_elements__various__Line_1 AknLayout::Cell_pane_highlight_elements__various__Line_1 +#define AKN_LAYOUT_WINDOW_Wallpaper_pane_element_Line_1 AknLayout::Wallpaper_pane_element_Line_1 +#define AKN_LAYOUT_WINDOW_Indicator_pane_elements_Line_1 AknLayout::Indicator_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Soft_indicator_pane_elements_Line_1 AknLayout::Soft_indicator_pane_elements_Line_1 +#define AKN_LAYOUT_TEXT_Soft_indicator_pane_texts_Line_1 AknLayout::Soft_indicator_pane_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Soft_indicator_pane_texts_Line_1 AknLayout::Multiline_Soft_indicator_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_power_save_pane AknLayout::power_save_pane +#define AKN_LAYOUT_WINDOW_Power_save_pane_descendants_Line_1 AknLayout::Power_save_pane_descendants_Line_1() +#define AKN_LAYOUT_WINDOW_Power_save_pane_descendants_Line_2 AknLayout::Power_save_pane_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_Power_save_pane_descendants_Line_3 AknLayout::Power_save_pane_descendants_Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_Power_save_pane_descendants_Limits AknLayout::Power_save_pane_descendants_Limits() +#define AKN_LAYOUT_TABLE_Power_save_pane_descendants AknLayout::Power_save_pane_descendants +#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_1 AknLayout::Idle_power_save_state_texts_Line_1() +#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_2 AknLayout::Idle_power_save_state_texts_Line_2() +#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_3 AknLayout::Idle_power_save_state_texts_Line_3() +#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_4 AknLayout::Idle_power_save_state_texts_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_Idle_power_save_state_texts_Limits AknLayout::Idle_power_save_state_texts_Limits() +#define AKN_LAYOUT_TABLE_Idle_power_save_state_texts AknLayout::Idle_power_save_state_texts +#define AKN_LAYOUT_WINDOW_grid_app_pane AknLayout::grid_app_pane() +#define AKN_LAYOUT_TEXT_Empty_list_texts_Line_1 AknLayout::Empty_list_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Empty_list_texts_Line_1 AknLayout::Multiline_Empty_list_texts_Line_1 +#define AKN_LAYOUT_TEXT_Empty_list_texts__find__Line_1 AknLayout::Empty_list_texts__find__Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Empty_list_texts__find__Line_1 AknLayout::Multiline_Empty_list_texts__find__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements_and_descendants__settings_edited__Line_1 AknLayout::List_pane_elements_and_descendants__settings_edited__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements_and_descendants__settings_edited__Line_2 AknLayout::List_pane_elements_and_descendants__settings_edited__Line_2() +#define AKN_LAYOUT_WINDOW_list_set_pane AknLayout::list_set_pane +#define AKN_LAYOUT_WINDOW_List_pane_elements_and_descendants__settings_edited__Line_4 AknLayout::List_pane_elements_and_descendants__settings_edited__Line_4() +#define AKN_LAYOUT_WINDOW_setting_volume_pane AknLayout::setting_volume_pane() +#define AKN_LAYOUT_WINDOW_setting_slider_pane AknLayout::setting_slider_pane() +#define AKN_LAYOUT_WINDOW_setting_slider_graphic_pane AknLayout::setting_slider_graphic_pane() +#define AKN_LAYOUT_WINDOW_setting_text_pane AknLayout::setting_text_pane() +#define AKN_LAYOUT_WINDOW_setting_code_pane AknLayout::setting_code_pane() +#define AKN_LAYOUT_TEXT_Setting_item_texts_Line_1 AknLayout::Setting_item_texts_Line_1() +#define AKN_LAYOUT_TEXT_Setting_item_texts_Line_2 AknLayout::Setting_item_texts_Line_2 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_1 AknLayout::Setting_volume_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_2 AknLayout::Setting_volume_pane_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_3 AknLayout::Setting_volume_pane_elements_Line_3 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_4 AknLayout::Setting_volume_pane_elements_Line_4 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_5 AknLayout::Setting_volume_pane_elements_Line_5 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_6 AknLayout::Setting_volume_pane_elements_Line_6 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_7 AknLayout::Setting_volume_pane_elements_Line_7 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_8 AknLayout::Setting_volume_pane_elements_Line_8 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_9 AknLayout::Setting_volume_pane_elements_Line_9 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_10 AknLayout::Setting_volume_pane_elements_Line_10 +#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_11 AknLayout::Setting_volume_pane_elements_Line_11 +#define AKN_LAYOUT_TABLE_LIMITS_Setting_volume_pane_elements_SUB_TABLE_0_Limits AknLayout::Setting_volume_pane_elements_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Setting_volume_pane_elements_SUB_TABLE_0 AknLayout::Setting_volume_pane_elements_SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Setting_slider_pane_elements_and_descendants_Line_1 AknLayout::Setting_slider_pane_elements_and_descendants_Line_1() +#define AKN_LAYOUT_WINDOW_Setting_slider_pane_elements_and_descendants_Line_2 AknLayout::Setting_slider_pane_elements_and_descendants_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Setting_slider_pane_elements_and_descendants_Limits AknLayout::Setting_slider_pane_elements_and_descendants_Limits() +#define AKN_LAYOUT_TABLE_Setting_slider_pane_elements_and_descendants AknLayout::Setting_slider_pane_elements_and_descendants +#define AKN_LAYOUT_WINDOW_Slider_pane_elements_Line_1 AknLayout::Slider_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Slider_pane_elements_Line_2 AknLayout::Slider_pane_elements_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Slider_pane_elements_Limits AknLayout::Slider_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Slider_pane_elements AknLayout::Slider_pane_elements +#define AKN_LAYOUT_TEXT_Slider_texts__set__Line_1 AknLayout::Slider_texts__set__Line_1() +#define AKN_LAYOUT_TEXT_Slider_texts__set__Line_2 AknLayout::Slider_texts__set__Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Slider_texts__set__Line_2 AknLayout::Multiline_Slider_texts__set__Line_2 +#define AKN_LAYOUT_WINDOW_Setting_slider_pane__graphic__elements_and_descendants_Line_1 AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Line_1() +#define AKN_LAYOUT_WINDOW_Setting_slider_pane__graphic__elements_and_descendants_Line_2 AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_Setting_slider_pane__graphic__elements_and_descendants_Line_3 AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_Setting_slider_pane__graphic__elements_and_descendants_Limits AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Limits() +#define AKN_LAYOUT_TABLE_Setting_slider_pane__graphic__elements_and_descendants AknLayout::Setting_slider_pane__graphic__elements_and_descendants +#define AKN_LAYOUT_TEXT_Slider_with_graphic_texts__set__Line_1 AknLayout::Slider_with_graphic_texts__set__Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Slider_with_graphic_texts__set__Line_1 AknLayout::Multiline_Slider_with_graphic_texts__set__Line_1 +#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_1 AknLayout::Setting_text_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_2 AknLayout::Setting_text_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_3 AknLayout::Setting_text_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_4 AknLayout::Setting_text_pane_elements_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_Setting_text_pane_elements_Limits AknLayout::Setting_text_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Setting_text_pane_elements AknLayout::Setting_text_pane_elements +#define AKN_LAYOUT_TEXT_Setting_text_pane_texts_Line_1 AknLayout::Setting_text_pane_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Setting_text_pane_texts_Line_1 AknLayout::Multiline_Setting_text_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Code_time_and_date_entry_pane_elements_Line_1 AknLayout::Code_time_and_date_entry_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Code_time_and_date_entry_pane_elements_Line_2 AknLayout::Code_time_and_date_entry_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Code_time_and_date_entry_pane_elements_Line_3 AknLayout::Code_time_and_date_entry_pane_elements_Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_Code_time_and_date_entry_pane_elements_Limits AknLayout::Code_time_and_date_entry_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Code_time_and_date_entry_pane_elements AknLayout::Code_time_and_date_entry_pane_elements +#define AKN_LAYOUT_TEXT_Code_time_and_date_entry_pane_texts_Line_1 AknLayout::Code_time_and_date_entry_pane_texts_Line_1() +#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_1 AknLayout::Control_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_2 AknLayout::Control_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_3 AknLayout::Control_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_4 AknLayout::Control_pane_elements_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_Control_pane_elements_Limits AknLayout::Control_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Control_pane_elements AknLayout::Control_pane_elements +#define AKN_LAYOUT_TEXT_Control_pane_texts_Line_1 AknLayout::Control_pane_texts_Line_1() +#define AKN_LAYOUT_TEXT_Control_pane_texts_Line_2 AknLayout::Control_pane_texts_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Control_pane_texts_Limits AknLayout::Control_pane_texts_Limits() +#define AKN_LAYOUT_TABLE_Control_pane_texts AknLayout::Control_pane_texts +#define AKN_LAYOUT_WINDOW_popup_menu_window AknLayout::popup_menu_window +#define AKN_LAYOUT_WINDOW_Pop_up_windows__main_pane_as_parent__Line_2 AknLayout::Pop_up_windows__main_pane_as_parent__Line_2 +#define AKN_LAYOUT_WINDOW_popup_menu_graphic_window AknLayout::popup_menu_graphic_window +#define AKN_LAYOUT_WINDOW_popup_menu_graphic_heading_window AknLayout::popup_menu_graphic_heading_window +#define AKN_LAYOUT_WINDOW_popup_menu_double_window AknLayout::popup_menu_double_window +#define AKN_LAYOUT_WINDOW_popup_menu_double_large_graphic_window AknLayout::popup_menu_double_large_graphic_window +#define AKN_LAYOUT_WINDOW_popup_note_window AknLayout::popup_note_window +#define AKN_LAYOUT_WINDOW_popup_note_wait_window AknLayout::popup_note_wait_window +#define AKN_LAYOUT_WINDOW_popup_note_image_window AknLayout::popup_note_image_window() +#define AKN_LAYOUT_WINDOW_popup_query_data_window AknLayout::popup_query_data_window +#define AKN_LAYOUT_WINDOW_popup_query_code_window AknLayout::popup_query_code_window +#define AKN_LAYOUT_WINDOW_popup_query_time_window AknLayout::popup_query_time_window +#define AKN_LAYOUT_WINDOW_popup_query_date_window AknLayout::popup_query_date_window +#define AKN_LAYOUT_WINDOW_popup_query_data_code_window AknLayout::popup_query_data_code_window +#define AKN_LAYOUT_WINDOW_popup_find_window AknLayout::popup_find_window() +#define AKN_LAYOUT_WINDOW_popup_snote_single_text_window AknLayout::popup_snote_single_text_window +#define AKN_LAYOUT_WINDOW_popup_snote_single_graphic_window AknLayout::popup_snote_single_graphic_window +#define AKN_LAYOUT_WINDOW_popup_snote_group_window AknLayout::popup_snote_group_window +#define AKN_LAYOUT_WINDOW_popup_grid_graphic_window AknLayout::popup_grid_graphic_window +#define AKN_LAYOUT_WINDOW_popup_menu_double2_window AknLayout::popup_menu_double2_window +#define AKN_LAYOUT_WINDOW_popup_grid_large_graphic_colour_window AknLayout::popup_grid_large_graphic_colour_window() +#define AKN_LAYOUT_WINDOW_popup_fast_swap_window AknLayout::popup_fast_swap_window +#define AKN_LAYOUT_WINDOW_list_single_popup_menu_pane AknLayout::list_single_popup_menu_pane +#define AKN_LAYOUT_WINDOW_list_single_heading_popup_menu_pane AknLayout::list_single_heading_popup_menu_pane +#define AKN_LAYOUT_WINDOW_list_single_graphic_popup_menu_pane AknLayout::list_single_graphic_popup_menu_pane +#define AKN_LAYOUT_WINDOW_list_single_graphic_heading_popup_menu_pane AknLayout::list_single_graphic_heading_popup_menu_pane +#define AKN_LAYOUT_WINDOW_list_menu_double_popup_menu_pane AknLayout::list_menu_double_popup_menu_pane +#define AKN_LAYOUT_WINDOW_list_single_popup_submenu_pane AknLayout::list_single_popup_submenu_pane +#define AKN_LAYOUT_WINDOW_list_double_large_graphic_popup_menu_pane AknLayout::list_double_large_graphic_popup_menu_pane +#define AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8 AknLayout::Pop_up_window_list_pane_descendants_Line_8() +#define AKN_LAYOUT_WINDOW_list_double2_popup_menu_pane AknLayout::list_double2_popup_menu_pane +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single__Line_1 AknLayout::List_pane_elements__menu_single__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single__Line_2 AknLayout::List_pane_elements__menu_single__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single__Line_3 AknLayout::List_pane_elements__menu_single__Line_3 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__menu_single__SUB_TABLE_0_Limits AknLayout::List_pane_elements__menu_single__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__menu_single__SUB_TABLE_0 AknLayout::List_pane_elements__menu_single__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single__Line_1 AknLayout::List_pane_texts__menu_single__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_text__submenu_single__Line_1 AknLayout::List_pane_text__submenu_single__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic__Line_1 AknLayout::List_pane_elements__menu_single_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic__Line_2 AknLayout::List_pane_elements__menu_single_graphic__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_graphic__Line_1 AknLayout::List_pane_texts__menu_single_graphic__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_heading__Line_1 AknLayout::List_pane_elements__menu_single_heading__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_heading__Line_2 AknLayout::List_pane_elements__menu_single_heading__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_heading__Line_1 AknLayout::List_pane_texts__menu_single_heading__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_heading__Line_2 AknLayout::List_pane_texts__menu_single_heading__Line_2 +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic_heading__Line_1 AknLayout::List_pane_elements__menu_single_graphic_heading__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic_heading__Line_2 AknLayout::List_pane_elements__menu_single_graphic_heading__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic_heading__Line_3 AknLayout::List_pane_elements__menu_single_graphic_heading__Line_3 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_graphic_heading__Line_1 AknLayout::List_pane_texts__menu_single_graphic_heading__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_graphic_heading__Line_2 AknLayout::List_pane_texts__menu_single_graphic_heading__Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__menu_single_graphic_heading__Limits AknLayout::List_pane_texts__menu_single_graphic_heading__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__menu_single_graphic_heading_ AknLayout::List_pane_texts__menu_single_graphic_heading_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double__Line_1 AknLayout::List_pane_elements__menu_double__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double__Line_1 AknLayout::List_pane_texts__menu_double__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double__Line_2 AknLayout::List_pane_texts__menu_double__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double2__Line_1 AknLayout::List_pane_elements__menu_double2__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double2__Line_1 AknLayout::List_pane_texts__menu_double2__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double2__Line_2 AknLayout::List_pane_texts__menu_double2__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double_large_graphic__Line_1 AknLayout::List_pane_elements__menu_double_large_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double_large_graphic__Line_2 AknLayout::List_pane_elements__menu_double_large_graphic__Line_2 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double_large_graphic__Line_1 AknLayout::List_pane_texts__menu_double_large_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double_large_graphic__Line_2 AknLayout::List_pane_texts__menu_double_large_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_Highlight_graphics__various__Line_1 AknLayout::Highlight_graphics__various__Line_1 +#define AKN_LAYOUT_WINDOW_Highlight_graphics__various__Line_2 AknLayout::Highlight_graphics__various__Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_Highlight_graphics__various__Limits AknLayout::Highlight_graphics__various__Limits() +#define AKN_LAYOUT_TABLE_Highlight_graphics__various_ AknLayout::Highlight_graphics__various_ +#define AKN_LAYOUT_WINDOW_cell_graphic_popup_pane AknLayout::cell_graphic_popup_pane +#define AKN_LAYOUT_WINDOW_Cell_pane_elements__pop_up_graphic__Line_1 AknLayout::Cell_pane_elements__pop_up_graphic__Line_1() +#define AKN_LAYOUT_TEXT_Cell_pane_texts__pop_up_graphic__Line_1 AknLayout::Cell_pane_texts__pop_up_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_cell_large_graphic_colour_popup_pane AknLayout::cell_large_graphic_colour_popup_pane +#define AKN_LAYOUT_WINDOW_colour AknLayout::colour +#define AKN_LAYOUT_WINDOW_Pop_up_window_cell_pane__large_graphic_colour_none__Line_1 AknLayout::Pop_up_window_cell_pane__large_graphic_colour_none__Line_1() +#define AKN_LAYOUT_TEXT_Cell_pane_texts__pop_up_large_graphic_colour_none__Line_1 AknLayout::Cell_pane_texts__pop_up_large_graphic_colour_none__Line_1() +#define AKN_LAYOUT_WINDOW_Highlight_elements__grid_pop_up__Line_1 AknLayout::Highlight_elements__grid_pop_up__Line_1 +#define AKN_LAYOUT_WINDOW_Highlight_elements__grid_pop_up__Line_2 AknLayout::Highlight_elements__grid_pop_up__Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_Highlight_elements__grid_pop_up__Limits AknLayout::Highlight_elements__grid_pop_up__Limits() +#define AKN_LAYOUT_TABLE_Highlight_elements__grid_pop_up_ AknLayout::Highlight_elements__grid_pop_up_ +#define AKN_LAYOUT_WINDOW_List_heading_pane_elements_Line_1 AknLayout::List_heading_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_List_heading_pane_elements_Line_2 AknLayout::List_heading_pane_elements_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_List_heading_pane_elements_Limits AknLayout::List_heading_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_List_heading_pane_elements AknLayout::List_heading_pane_elements +#define AKN_LAYOUT_TEXT_List_heading_pane_texts_Line_1 AknLayout::List_heading_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_1 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_2 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_3 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_4 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_5 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Pop_up_menu_with_heading_window_graphics_Limits AknLayout::Pop_up_menu_with_heading_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Pop_up_menu_with_heading_window_graphics AknLayout::Pop_up_menu_with_heading_window_graphics +#define AKN_LAYOUT_WINDOW_list_menu_pane AknLayout::list_menu_pane +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_Line_2 AknLayout::Menu_pop_up_window_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_1 AknLayout::Menu_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_2 AknLayout::Menu_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_3 AknLayout::Menu_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_4 AknLayout::Menu_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_5 AknLayout::Menu_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Menu_pop_up_window_graphics_Limits AknLayout::Menu_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Menu_pop_up_window_graphics AknLayout::Menu_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_list_submenu_pane AknLayout::list_submenu_pane +#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_1 AknLayout::Submenu_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_2 AknLayout::Submenu_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_3 AknLayout::Submenu_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_4 AknLayout::Submenu_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Submenu_pop_up_window_graphics_Limits AknLayout::Submenu_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Submenu_pop_up_window_graphics AknLayout::Submenu_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_positioning_Line_1 AknLayout::Submenu_pop_up_window_positioning_Line_1 +#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_positioning_Line_2 AknLayout::Submenu_pop_up_window_positioning_Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_Submenu_pop_up_window_positioning_Limits AknLayout::Submenu_pop_up_window_positioning_Limits() +#define AKN_LAYOUT_TABLE_Submenu_pop_up_window_positioning AknLayout::Submenu_pop_up_window_positioning +#define AKN_LAYOUT_WINDOW_list_menu_graphic_pane AknLayout::list_menu_graphic_pane +#define AKN_LAYOUT_WINDOW_list_menu_heading_pane AknLayout::list_menu_heading_pane +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__single_heading__Line_2 AknLayout::Menu_pop_up_window_descendants__single_heading__Line_2() +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__single_heading__Line_3 AknLayout::Menu_pop_up_window_descendants__single_heading__Line_3 +#define AKN_LAYOUT_WINDOW_list_menu_graphic_heading_pane AknLayout::list_menu_graphic_heading_pane +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_2 AknLayout::Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_2() +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_3 AknLayout::Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_3 +#define AKN_LAYOUT_WINDOW_list_menu_double_pane_list_menu_double2_pane AknLayout::list_menu_double_pane_list_menu_double2_pane +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__double_double2__Line_2 AknLayout::Menu_pop_up_window_descendants__double_double2__Line_2() +#define AKN_LAYOUT_WINDOW_list_menu_double_large_graphic_pane AknLayout::list_menu_double_large_graphic_pane +#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__double__Line_2 AknLayout::Menu_pop_up_window_descendants__double__Line_2() +#define AKN_LAYOUT_WINDOW_Note_pop_up_window_elements_Line_1 AknLayout::Note_pop_up_window_elements_Line_1() +#define AKN_LAYOUT_TEXT_Note_pop_up_window_texts_Line_1 AknLayout::Note_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Note_pop_up_window_texts_Line_1 AknLayout::Multiline_Note_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_1 AknLayout::Note_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_2 AknLayout::Note_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_3 AknLayout::Note_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_4 AknLayout::Note_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_5 AknLayout::Note_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Note_pop_up_window_graphics_Limits AknLayout::Note_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Note_pop_up_window_graphics AknLayout::Note_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_1 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_2 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_3 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_4 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_First_general_event_elements_Limits AknLayout::First_general_event_elements_Limits() +#define AKN_LAYOUT_TABLE_First_general_event_elements AknLayout::First_general_event_elements +#define AKN_LAYOUT_TEXT_Wait_or_progress_note_pop_up_window_texts_Line_1 AknLayout::Wait_or_progress_note_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Wait_or_progress_note_pop_up_window_texts_Line_1 AknLayout::Multiline_Wait_or_progress_note_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_1 AknLayout::Note_with_an_image_pop_up_window_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_2 AknLayout::Note_with_an_image_pop_up_window_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_3 AknLayout::Note_with_an_image_pop_up_window_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_4 AknLayout::Note_with_an_image_pop_up_window_elements_Line_4() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_5 AknLayout::Note_with_an_image_pop_up_window_elements_Line_5() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_6 AknLayout::Note_with_an_image_pop_up_window_elements_Line_6() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_7 AknLayout::Note_with_an_image_pop_up_window_elements_Line_7() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_8 AknLayout::Note_with_an_image_pop_up_window_elements_Line_8() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_9 AknLayout::Note_with_an_image_pop_up_window_elements_Line_9() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_10 AknLayout::Note_with_an_image_pop_up_window_elements_Line_10() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_11 AknLayout::Note_with_an_image_pop_up_window_elements_Line_11() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_12 AknLayout::Note_with_an_image_pop_up_window_elements_Line_12() +#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_13 AknLayout::Note_with_an_image_pop_up_window_elements_Line_13() +#define AKN_LAYOUT_TABLE_LIMITS_Note_with_an_image_pop_up_window_elements_Limits AknLayout::Note_with_an_image_pop_up_window_elements_Limits() +#define AKN_LAYOUT_TABLE_Note_with_an_image_pop_up_window_elements AknLayout::Note_with_an_image_pop_up_window_elements +#define AKN_LAYOUT_TEXT_Note_with_an_image_pop_up_window_texts_Line_1 AknLayout::Note_with_an_image_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_an_image_pop_up_window_texts_Line_1 AknLayout::Multiline_Note_with_an_image_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_1 AknLayout::Query_with_heading_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_2 AknLayout::Query_with_heading_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_3 AknLayout::Query_with_heading_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_4 AknLayout::Query_with_heading_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_5 AknLayout::Query_with_heading_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Query_with_heading_window_graphics_Limits AknLayout::Query_with_heading_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Query_with_heading_window_graphics AknLayout::Query_with_heading_window_graphics +#define AKN_LAYOUT_WINDOW_popup_list_heading_pane AknLayout::popup_list_heading_pane +#define AKN_LAYOUT_WINDOW_Heading_pane_elements_Line_1 AknLayout::Heading_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Icon AknLayout::Icon +#define AKN_LAYOUT_TEXT_Heading_pane_texts_Line_1 AknLayout::Heading_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_1 AknLayout::Data_query_pop_up_window_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_2 AknLayout::Data_query_pop_up_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_3 AknLayout::Data_query_pop_up_window_elements_Line_3 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_4 AknLayout::Data_query_pop_up_window_elements_Line_4 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_5 AknLayout::Data_query_pop_up_window_elements_Line_5() +#define AKN_LAYOUT_TEXT_Data_query_pop_up_window_texts_Line_1 AknLayout::Data_query_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Data_query_pop_up_window_texts_Line_1 AknLayout::Multiline_Data_query_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_TEXT_Data_query_pop_up_window_texts_Line_2 AknLayout::Data_query_pop_up_window_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Data_query_pop_up_window_texts_Line_2 AknLayout::Multiline_Data_query_pop_up_window_texts_Line_2 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_1 AknLayout::Data_query_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_2 AknLayout::Data_query_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_3 AknLayout::Data_query_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_4 AknLayout::Data_query_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_5 AknLayout::Data_query_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Data_query_pop_up_window_graphics_Limits AknLayout::Data_query_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Data_query_pop_up_window_graphics AknLayout::Data_query_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_1 AknLayout::Code_query_pop_up_window_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_2 AknLayout::Code_query_pop_up_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_3 AknLayout::Code_query_pop_up_window_elements_Line_3 +#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_4 AknLayout::Code_query_pop_up_window_elements_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Code_query_pop_up_window_elements_Limits AknLayout::Code_query_pop_up_window_elements_Limits() +#define AKN_LAYOUT_TABLE_Code_query_pop_up_window_elements AknLayout::Code_query_pop_up_window_elements +#define AKN_LAYOUT_TEXT_Code_query_pop_up_window_texts_Line_1 AknLayout::Code_query_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Code_query_pop_up_window_texts_Line_1 AknLayout::Multiline_Code_query_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_TEXT_Code_query_pop_up_window_texts_Line_2 AknLayout::Code_query_pop_up_window_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Code_query_pop_up_window_texts_Line_2 AknLayout::Multiline_Code_query_pop_up_window_texts_Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_Code_query_pop_up_window_texts_Limits AknLayout::Code_query_pop_up_window_texts_Limits() +#define AKN_LAYOUT_TABLE_Code_query_pop_up_window_texts AknLayout::Code_query_pop_up_window_texts +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_1 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_2 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_3 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_3 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_4 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_4 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_5 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_5 +#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_1 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_1 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_1 +#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_2 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_2 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_2 +#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_3 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_3 +#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_3 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_3 +#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_4 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_4 +#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_4 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Combined_data_and_code_query_pop_up_window_texts_Limits AknLayout::Combined_data_and_code_query_pop_up_window_texts_Limits() +#define AKN_LAYOUT_TABLE_Combined_data_and_code_query_pop_up_window_texts AknLayout::Combined_data_and_code_query_pop_up_window_texts +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_1 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_2 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_3 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_4 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_5 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0_Limits AknLayout::Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_1 AknLayout::Find_pop_up_window_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_2 AknLayout::Find_pop_up_window_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_3 AknLayout::Find_pop_up_window_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_4 AknLayout::Find_pop_up_window_elements_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_Find_pop_up_window_elements_Limits AknLayout::Find_pop_up_window_elements_Limits() +#define AKN_LAYOUT_TABLE_Find_pop_up_window_elements AknLayout::Find_pop_up_window_elements +#define AKN_LAYOUT_TEXT_Find_pop_up_window_texts_Line_1 AknLayout::Find_pop_up_window_texts_Line_1() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_1 AknLayout::Find_pop_up_window_graphics_Line_1() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_2 AknLayout::Find_pop_up_window_graphics_Line_2() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_3 AknLayout::Find_pop_up_window_graphics_Line_3() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_4 AknLayout::Find_pop_up_window_graphics_Line_4() +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_5 AknLayout::Find_pop_up_window_graphics_Line_5() +#define AKN_LAYOUT_TABLE_LIMITS_Find_pop_up_window_graphics_Limits AknLayout::Find_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Find_pop_up_window_graphics AknLayout::Find_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_1 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_2 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_3 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_4 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_5 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Pop_up_menu_with_find_pane_graphics_Limits AknLayout::Pop_up_menu_with_find_pane_graphics_Limits() +#define AKN_LAYOUT_TABLE_Pop_up_menu_with_find_pane_graphics AknLayout::Pop_up_menu_with_find_pane_graphics +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_elements__text__Line_1 AknLayout::Notification_pop_up_window_elements__text__Line_1() +#define AKN_LAYOUT_TEXT_Notification_pop_up_window_texts__text__Line_1 AknLayout::Notification_pop_up_window_texts__text__Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Notification_pop_up_window_texts__text__Line_1 AknLayout::Multiline_Notification_pop_up_window_texts__text__Line_1 +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_1 AknLayout::Notification_pop_up_window_graphics__text__Line_1 +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_2 AknLayout::Notification_pop_up_window_graphics__text__Line_2 +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_3 AknLayout::Notification_pop_up_window_graphics__text__Line_3 +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_4 AknLayout::Notification_pop_up_window_graphics__text__Line_4 +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_5 AknLayout::Notification_pop_up_window_graphics__text__Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Notification_pop_up_window_graphics__text__Limits AknLayout::Notification_pop_up_window_graphics__text__Limits() +#define AKN_LAYOUT_TABLE_Notification_pop_up_window_graphics__text_ AknLayout::Notification_pop_up_window_graphics__text_ +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_elements__graphic__Line_1 AknLayout::Notification_pop_up_window_elements__graphic__Line_1() +#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_elements__graphic__Line_2 AknLayout::Notification_pop_up_window_elements__graphic__Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Notification_pop_up_window_elements__graphic__Limits AknLayout::Notification_pop_up_window_elements__graphic__Limits() +#define AKN_LAYOUT_TABLE_Notification_pop_up_window_elements__graphic_ AknLayout::Notification_pop_up_window_elements__graphic_ +#define AKN_LAYOUT_TEXT_Notification_pop_up_window_texts__graphic__Line_1 AknLayout::Notification_pop_up_window_texts__graphic__Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Notification_pop_up_window_texts__graphic__Line_1 AknLayout::Multiline_Notification_pop_up_window_texts__graphic__Line_1 +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_descendants_Line_1 AknLayout::Identifier_icon_selection_pop_up_window_descendants_Line_1 +#define AKN_LAYOUT_WINDOW_grid_graphic_popup_pane AknLayout::grid_graphic_popup_pane +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_elements_Line_1 AknLayout::Identifier_icon_selection_pop_up_window_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_elements_Line_2 AknLayout::Identifier_icon_selection_pop_up_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_1 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_2 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_3 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_4 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_5 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0_Limits AknLayout::Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0 AknLayout::Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_descendants_Line_1 AknLayout::Colour_selection_pop_up_window_descendants_Line_1() +#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_descendants_Line_2 AknLayout::Colour_selection_pop_up_window_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_grid_large_graphic_colour_popup_pane AknLayout::grid_large_graphic_colour_popup_pane +#define AKN_LAYOUT_WINDOW_Composer_symbol_selection_pop_up_window_elements_Line_1 AknLayout::Composer_symbol_selection_pop_up_window_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Composer_symbol_selection_pop_up_window_elements_Line_2 AknLayout::Composer_symbol_selection_pop_up_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_1 AknLayout::Colour_selection_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_2 AknLayout::Colour_selection_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_3 AknLayout::Colour_selection_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_4 AknLayout::Colour_selection_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_5 AknLayout::Colour_selection_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Colour_selection_pop_up_window_graphics_Limits AknLayout::Colour_selection_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Colour_selection_pop_up_window_graphics AknLayout::Colour_selection_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_descendants_Line_1 AknLayout::Fast_application_swapping_pop_up_window_descendants_Line_1 +#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_1 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_2 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_3 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_4 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_5 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_6 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_6() +#define AKN_LAYOUT_TABLE_LIMITS_Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0_Limits AknLayout::Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0 AknLayout::Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__setting__double2__Line_1 AknLayout::List_pane_texts__setting__double2__Line_1() +#define AKN_LAYOUT_TEXT_List_pane_texts__setting__double2__Line_2 AknLayout::List_pane_texts__setting__double2__Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__setting__double2__Limits AknLayout::List_pane_texts__setting__double2__Limits() +#define AKN_LAYOUT_TABLE_List_pane_texts__setting__double2_ AknLayout::List_pane_texts__setting__double2_ +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_1 AknLayout::List_pane_elements__single_2graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_2 AknLayout::List_pane_elements__single_2graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_3 AknLayout::List_pane_elements__single_2graphic__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_4 AknLayout::List_pane_elements__single_2graphic__Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_2graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_2graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__single_2graphic__SUB_TABLE_0 AknLayout::List_pane_elements__single_2graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__single_2graphic__Line_1 AknLayout::List_pane_texts__single_2graphic__Line_1 +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_1 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_2 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_3 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_4 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic_large_graphic__Line_1 AknLayout::List_pane_texts__double2_graphic_large_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic_large_graphic__Line_2 AknLayout::List_pane_texts__double2_graphic_large_graphic__Line_2() +#define AKN_LAYOUT_TEXT_Form_data_wide_graphic_field_texts_Line_1 AknLayout::Form_data_wide_graphic_field_texts_Line_1() +#define AKN_LAYOUT_TEXT_Form_data_wide_graphic_field_texts_Line_2 AknLayout::Form_data_wide_graphic_field_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_wide_graphic_field_texts_Line_2 AknLayout::Multiline_Form_data_wide_graphic_field_texts_Line_2 +#define AKN_LAYOUT_WINDOW_status_small_pane AknLayout::status_small_pane() +#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_1 AknLayout::Small_status_pane_descendants_and_elements_Line_1() +#define AKN_LAYOUT_WINDOW_status_small_icon_pane AknLayout::status_small_icon_pane() +#define AKN_LAYOUT_WINDOW_status_small_wait_pane AknLayout::status_small_wait_pane() +#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_4 AknLayout::Small_status_pane_descendants_and_elements_Line_4() +#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_5 AknLayout::Small_status_pane_descendants_and_elements_Line_5() +#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_6 AknLayout::Small_status_pane_descendants_and_elements_Line_6() +#define AKN_LAYOUT_TABLE_LIMITS_Small_status_pane_descendants_and_elements_Limits AknLayout::Small_status_pane_descendants_and_elements_Limits() +#define AKN_LAYOUT_TABLE_Small_status_pane_descendants_and_elements AknLayout::Small_status_pane_descendants_and_elements +#define AKN_LAYOUT_TEXT_Small_status_pane_texts_Line_1 AknLayout::Small_status_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_1 AknLayout::Small_status_waiting_pane_components_Line_1() +#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_2 AknLayout::Small_status_waiting_pane_components_Line_2() +#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_3 AknLayout::Small_status_waiting_pane_components_Line_3() +#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_4 AknLayout::Small_status_waiting_pane_components_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_Small_status_waiting_pane_components_Limits AknLayout::Small_status_waiting_pane_components_Limits() +#define AKN_LAYOUT_TABLE_Small_status_waiting_pane_components AknLayout::Small_status_waiting_pane_components +#define AKN_LAYOUT_WINDOW_Note_with_additional_information_popup_window_elements_Line_1 AknLayout::Note_with_additional_information_popup_window_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Note_with_additional_information_popup_window_elements_Line_2 AknLayout::Note_with_additional_information_popup_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_Note_with_additional_information_popup_window_elements_Line_3 AknLayout::Note_with_additional_information_popup_window_elements_Line_3 +#define AKN_LAYOUT_TEXT_Note_with_additional_information_popup_window_texts_Line_1 AknLayout::Note_with_additional_information_popup_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_additional_information_popup_window_texts_Line_1 AknLayout::Multiline_Note_with_additional_information_popup_window_texts_Line_1 +#define AKN_LAYOUT_TEXT_Note_with_additional_information_popup_window_texts_Line_2 AknLayout::Note_with_additional_information_popup_window_texts_Line_2 +#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_additional_information_popup_window_texts_Line_2 AknLayout::Multiline_Note_with_additional_information_popup_window_texts_Line_2 +#define AKN_LAYOUT_TEXT_Note_with_additional_information_popup_window_texts_Line_3 AknLayout::Note_with_additional_information_popup_window_texts_Line_3 +#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_additional_information_popup_window_texts_Line_3 AknLayout::Multiline_Note_with_additional_information_popup_window_texts_Line_3 +#define AKN_LAYOUT_TEXT_Heading_pane_texts_Line_2 AknLayout::Heading_pane_texts_Line_2() +#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_elements_Line_1 AknLayout::Side_volume_key_popup_window_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_elements_Line_2 AknLayout::Side_volume_key_popup_window_elements_Line_2() +#define AKN_LAYOUT_TEXT_Side_volume_key_popup_window_texts_Line_1 AknLayout::Side_volume_key_popup_window_texts_Line_1() +#define AKN_LAYOUT_TEXT_Side_volume_key_popup_window_texts_Line_2 AknLayout::Side_volume_key_popup_window_texts_Line_2() +#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_1 AknLayout::Side_volume_key_popup_window_background_Line_1 +#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_2 AknLayout::Side_volume_key_popup_window_background_Line_2 +#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_3 AknLayout::Side_volume_key_popup_window_background_Line_3 +#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_4 AknLayout::Side_volume_key_popup_window_background_Line_4 +#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_1 AknLayout::Transparent_setting_item_texts_Line_1() +#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_2 AknLayout::Transparent_setting_item_texts_Line_2() +#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_3 AknLayout::Transparent_setting_item_texts_Line_3 +#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_4 AknLayout::Transparent_setting_item_texts_Line_4 +#define AKN_LAYOUT_TEXT_List_pane_texts__set_trans_graphic__Line_1 AknLayout::List_pane_texts__set_trans_graphic__Line_1 +#define AKN_LAYOUT_TEXT_List_pane_texts__set_trans_graphic__Line_2 AknLayout::List_pane_texts__set_trans_graphic__Line_2 +#define AKN_LAYOUT_WINDOW_list_set_trans_pane AknLayout::list_set_trans_pane +#define AKN_LAYOUT_WINDOW_list_set_trans_graphic_pane AknLayout::list_set_trans_graphic_pane +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_1 AknLayout::List_pane_elements__set_trans_graphic__Line_1() +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_2 AknLayout::List_pane_elements__set_trans_graphic__Line_2() +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_3 AknLayout::List_pane_elements__set_trans_graphic__Line_3() +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_4 AknLayout::List_pane_elements__set_trans_graphic__Line_4() +#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_5 AknLayout::List_pane_elements__set_trans_graphic__Line_5() +#define AKN_LAYOUT_TEXT_Soft_indicator_texts_Line_1 AknLayout::Soft_indicator_texts_Line_1() +#define AKN_LAYOUT_WINDOW_ai_links_pane AknLayout::ai_links_pane() +#define AKN_LAYOUT_WINDOW_ai_gene_pane AknLayout::ai_gene_pane +#define AKN_LAYOUT_WINDOW_Link_pane_elements_and_descendant_panes_Line_1 AknLayout::Link_pane_elements_and_descendant_panes_Line_1() +#define AKN_LAYOUT_WINDOW_grid_ai_links_pane AknLayout::grid_ai_links_pane() +#define AKN_LAYOUT_TABLE_LIMITS_Link_pane_elements_and_descendant_panes_Limits AknLayout::Link_pane_elements_and_descendant_panes_Limits() +#define AKN_LAYOUT_TABLE_Link_pane_elements_and_descendant_panes AknLayout::Link_pane_elements_and_descendant_panes +#define AKN_LAYOUT_WINDOW_cell_ai_link_pane AknLayout::cell_ai_link_pane +#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_1 AknLayout::Link_shortcut_cell_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_2 AknLayout::Link_shortcut_cell_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_3 AknLayout::Link_shortcut_cell_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_4 AknLayout::Link_shortcut_cell_pane_elements_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_Link_shortcut_cell_pane_elements_Limits AknLayout::Link_shortcut_cell_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Link_shortcut_cell_pane_elements AknLayout::Link_shortcut_cell_pane_elements +#define AKN_LAYOUT_WINDOW_popup_ai_links_title_window AknLayout::popup_ai_links_title_window() +#define AKN_LAYOUT_TEXT_Link_shortcut_title_texts_Line_1 AknLayout::Link_shortcut_title_texts_Line_1() +#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_1 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_2 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_3 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_4 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Link_shortcut_title_pop_up_window_graphics_Limits AknLayout::Link_shortcut_title_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Link_shortcut_title_pop_up_window_graphics AknLayout::Link_shortcut_title_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_ai_gene_pane_1 AknLayout::ai_gene_pane_1() +#define AKN_LAYOUT_WINDOW_ai_gene_pane_2 AknLayout::ai_gene_pane_2 +#define AKN_LAYOUT_WINDOW_First_general_event_elements_Line_1 AknLayout::First_general_event_elements_Line_1() +#define AKN_LAYOUT_WINDOW_First_general_event_elements_Line_2 AknLayout::First_general_event_elements_Line_2() +#define AKN_LAYOUT_TEXT_First_general_event_texts_Line_1 AknLayout::First_general_event_texts_Line_1 +#define AKN_LAYOUT_TEXT_Second_general_event_pane_texts_Line_1 AknLayout::Second_general_event_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Shortcut_link_highlight_Line_1 AknLayout::Shortcut_link_highlight_Line_1 +#define AKN_LAYOUT_WINDOW_Highlight_for_other_Active_Idle_items_Line_1 AknLayout::Highlight_for_other_Active_Idle_items_Line_1 +#define AKN_LAYOUT_TEXT_Find_pop_up_window_texts_Line_2 AknLayout::Find_pop_up_window_texts_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Find_pop_up_window_texts_Limits AknLayout::Find_pop_up_window_texts_Limits() +#define AKN_LAYOUT_TABLE_Find_pop_up_window_texts AknLayout::Find_pop_up_window_texts +#define AKN_LAYOUT_TEXT_Find_pane_texts_Line_2 AknLayout::Find_pane_texts_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Find_pane_texts_Limits AknLayout::Find_pane_texts_Limits() +#define AKN_LAYOUT_TABLE_Find_pane_texts AknLayout::Find_pane_texts +#define AKN_LAYOUT_WINDOW_ai_gene_pane_3 AknLayout::ai_gene_pane_3() +#define AKN_LAYOUT_WINDOW_Third_general_event_elements_Line_1 AknLayout::Third_general_event_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Third_general_event_elements_Line_2 AknLayout::Third_general_event_elements_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Third_general_event_elements_Limits AknLayout::Third_general_event_elements_Limits() +#define AKN_LAYOUT_TABLE_Third_general_event_elements AknLayout::Third_general_event_elements +#define AKN_LAYOUT_WINDOW_popup_ai_message_window AknLayout::popup_ai_message_window() +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_descendants_Line_1 AknLayout::Active_idle_message_pop_up_window_descendants_Line_1() +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_descendants_Line_2 AknLayout::Active_idle_message_pop_up_window_descendants_Line_2() +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_descendants_Line_3 AknLayout::Active_idle_message_pop_up_window_descendants_Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_Active_idle_message_pop_up_window_descendants_Limits AknLayout::Active_idle_message_pop_up_window_descendants_Limits() +#define AKN_LAYOUT_TABLE_Active_idle_message_pop_up_window_descendants AknLayout::Active_idle_message_pop_up_window_descendants +#define AKN_LAYOUT_TEXT_Active_idle_message_popup_window_texts_Line_1 AknLayout::Active_idle_message_popup_window_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Active_idle_message_popup_window_texts_Line_1 AknLayout::Multiline_Active_idle_message_popup_window_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_1 AknLayout::Active_idle_heading_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_2 AknLayout::Active_idle_heading_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_3 AknLayout::Active_idle_heading_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_4 AknLayout::Active_idle_heading_pane_elements_Line_4() +#define AKN_LAYOUT_TABLE_LIMITS_Active_idle_heading_pane_elements_Limits AknLayout::Active_idle_heading_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Active_idle_heading_pane_elements AknLayout::Active_idle_heading_pane_elements +#define AKN_LAYOUT_TEXT_Active_idle_heading_pane_texts_Line_1 AknLayout::Active_idle_heading_pane_texts_Line_1 +#define AKN_LAYOUT_TEXT_Active_idle_heading_pane_texts_Line_2 AknLayout::Active_idle_heading_pane_texts_Line_2() +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_1 AknLayout::Active_idle_message_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_2 AknLayout::Active_idle_message_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_3 AknLayout::Active_idle_message_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_4 AknLayout::Active_idle_message_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_5 AknLayout::Active_idle_message_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Active_idle_message_pop_up_window_graphics_Limits AknLayout::Active_idle_message_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Active_idle_message_pop_up_window_graphics AknLayout::Active_idle_message_pop_up_window_graphics +#include +#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_6 AknApacLayout::Find_pane_elements_Line_6() +#define AKN_LAYOUT_WINDOW_popup_fep_china_window AknApacLayout::popup_fep_china_window +#define AKN_LAYOUT_WINDOW_popup_fep_china_pinyin_window AknApacLayout::popup_fep_china_pinyin_window +#define AKN_LAYOUT_WINDOW_Cursor_graphics__16__Line_1 AknApacLayout::Cursor_graphics__16__Line_1() +#define AKN_LAYOUT_WINDOW_Cut_copy_and_paste_highlight_graphics__16__Line_1 AknApacLayout::Cut_copy_and_paste_highlight_graphics__16__Line_1() +#define AKN_LAYOUT_WINDOW_Time_and_date_entry_graphics__16__Line_1 AknApacLayout::Time_and_date_entry_graphics__16__Line_1() +#define AKN_LAYOUT_WINDOW_cell_apac_character_popup_pane AknApacLayout::cell_apac_character_popup_pane +#define AKN_LAYOUT_TEXT_Cell_pane_texts__pop_up_APAC_character__Line_1 AknApacLayout::Cell_pane_texts__pop_up_APAC_character__Line_1() +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_descendants_Line_1 AknApacLayout::APAC_character_selection_pop_up_window_descendants_Line_1 +#define AKN_LAYOUT_WINDOW_grid_apac_character_popup_pane AknApacLayout::grid_apac_character_popup_pane +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_elements_Line_1 AknApacLayout::APAC_character_selection_pop_up_window_elements_Line_1 +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_elements_Line_2 AknApacLayout::APAC_character_selection_pop_up_window_elements_Line_2 +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_1 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_2 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_3 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_4 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_5 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0_Limits AknApacLayout::APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0 AknApacLayout::APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_elements_and_descendants_panes_Line_1 AknApacLayout::Chinese_FEP_pop_up_window_elements_and_descendants_panes_Line_1 +#define AKN_LAYOUT_WINDOW_fep_china_entry_pane AknApacLayout::fep_china_entry_pane +#define AKN_LAYOUT_WINDOW_fep_china_candidate_pane AknApacLayout::fep_china_candidate_pane +#define AKN_LAYOUT_TEXT_Chinese_FEP_entry_pane_texts_Line_1 AknApacLayout::Chinese_FEP_entry_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_candidate_pane_elements_Line_1 AknApacLayout::Chinese_FEP_candidate_pane_elements_Line_1 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_candidate_pane_elements_Line_2 AknApacLayout::Chinese_FEP_candidate_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_candidate_pane_elements_Line_3 AknApacLayout::Chinese_FEP_candidate_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_fep_china_highlight_pane AknApacLayout::fep_china_highlight_pane +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_candidate_pane_elements_SUB_TABLE_0_Limits AknApacLayout::Chinese_FEP_candidate_pane_elements_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_candidate_pane_elements_SUB_TABLE_0 AknApacLayout::Chinese_FEP_candidate_pane_elements_SUB_TABLE_0 +#define AKN_LAYOUT_TEXT_Chinese_FEP_candidate_pane_texts_Line_1 AknApacLayout::Chinese_FEP_candidate_pane_texts_Line_1 +#define AKN_LAYOUT_TEXT_Chinese_FEP_candidate_pane_texts_Line_2 AknApacLayout::Chinese_FEP_candidate_pane_texts_Line_2 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_1 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_2 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_3 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_4 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_5 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_pop_up_window_graphics_Limits AknApacLayout::Chinese_FEP_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_pop_up_window_graphics AknApacLayout::Chinese_FEP_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Chinese_FEP_highlight_elements_Line_1 AknApacLayout::Chinese_FEP_highlight_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_highlight_elements_Line_2 AknApacLayout::Chinese_FEP_highlight_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_highlight_elements_Line_3 AknApacLayout::Chinese_FEP_highlight_elements_Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_highlight_elements_Limits AknApacLayout::Chinese_FEP_highlight_elements_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_highlight_elements AknApacLayout::Chinese_FEP_highlight_elements +#define AKN_LAYOUT_TEXT_Chinese_FEP_highlight_texts_Line_1 AknApacLayout::Chinese_FEP_highlight_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Unselected_string_highlight_Line_1 AknApacLayout::Unselected_string_highlight_Line_1 +#define AKN_LAYOUT_WINDOW_list_single_fep_china_pinyin_pane AknApacLayout::list_single_fep_china_pinyin_pane +#define AKN_LAYOUT_TEXT_List_pane_texts__fep_china__Line_1 AknApacLayout::List_pane_texts__fep_china__Line_1 +#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_1 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_2 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_3 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_4 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Pinyin_T9_candidate_pop_up_window_graphics_Limits AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Pinyin_T9_candidate_pop_up_window_graphics AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_highlight_Line_1 AknApacLayout::Pinyin_T9_candidate_highlight_Line_1 +#define AKN_LAYOUT_WINDOW_popup_grid_apac_character_window AknApacLayout::popup_grid_apac_character_window +#define AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window AknApacLayout::popup_fep_japan_predictive_window +#define AKN_LAYOUT_WINDOW_popup_fep_japan_candidate_window AknApacLayout::popup_fep_japan_candidate_window +#define AKN_LAYOUT_WINDOW_candidate_pane AknApacLayout::candidate_pane +#define AKN_LAYOUT_WINDOW_list_single_popup_jap_candidate_pane AknApacLayout::list_single_popup_jap_candidate_pane +#define AKN_LAYOUT_TEXT_List_pane_text__single_japan_fep__Line_1 AknApacLayout::List_pane_text__single_japan_fep__Line_1 +#define AKN_LAYOUT_TEXT_Predictive_candidate_selection_list_texts_Line_1 AknApacLayout::Predictive_candidate_selection_list_texts_Line_1 +#define AKN_LAYOUT_MULTILINE_TEXT_Predictive_candidate_selection_list_texts_Line_1 AknApacLayout::Multiline_Predictive_candidate_selection_list_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_highlight_Line_1 AknApacLayout::Predictive_candidate_selection_highlight_Line_1() +#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_1 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_2 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_3 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_4 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Predictive_candidate_selection_popup_window_graphics_Limits AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Predictive_candidate_selection_popup_window_graphics AknApacLayout::Predictive_candidate_selection_popup_window_graphics +#define AKN_LAYOUT_TEXT_Candidate_selection_list_texts_Line_1 AknApacLayout::Candidate_selection_list_texts_Line_1() +#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_1 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_2 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_3 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_4 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Candidate_selection_pop_up_window_graphics_Limits AknApacLayout::Candidate_selection_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Candidate_selection_pop_up_window_graphics AknApacLayout::Candidate_selection_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_elements_and_descendants_panes_Line_1 AknApacLayout::Chinese_FEP_Zi_popup_window_elements_and_descendants_panes_Line_1() +#define AKN_LAYOUT_WINDOW_fep_china_zi_entry_pane AknApacLayout::fep_china_zi_entry_pane +#define AKN_LAYOUT_WINDOW_fep_china_zi_candidate_pane AknApacLayout::fep_china_zi_candidate_pane +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_entry_pane_elements_Line_1 AknApacLayout::Chinese_FEP_Zi_entry_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_entry_pane_elements_Line_2 AknApacLayout::Chinese_FEP_Zi_entry_pane_elements_Line_2() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_entry_pane_elements_Limits AknApacLayout::Chinese_FEP_Zi_entry_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_entry_pane_elements AknApacLayout::Chinese_FEP_Zi_entry_pane_elements +#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_entry_pane_texts_Line_1 AknApacLayout::Chinese_FEP_Zi_entry_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_1 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_2 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_3 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_4 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_4() +#define AKN_LAYOUT_WINDOW_fep_china_zi_highlight_pane AknApacLayout::fep_china_zi_highlight_pane() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_candidate_pane_elements_Limits AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_candidate_pane_elements AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements +#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_candidate_pane_texts_Line_1 AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Line_1() +#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_candidate_pane_texts_Line_2 AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Line_2() +#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_candidate_pane_texts_Line_3 AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_candidate_pane_texts_Limits AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_candidate_pane_texts AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_1 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_1() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_2 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_2 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_3 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_3 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_4 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_4() +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_5 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_5() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0_Limits AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0 +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1_Limits AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1_Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_1 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_1 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_2 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_2 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_3 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_3 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_4 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_4 +#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_5 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_5 +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_popup_window_graphics__part_2__Limits AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Limits() +#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_popup_window_graphics__part_2_ AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2_ +#define AKN_LAYOUT_WINDOW_Input_highlight_elements_Line_1 AknApacLayout::Input_highlight_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Candidate_selection_Line_1 AknApacLayout::Candidate_selection_Line_1 +#define AKN_LAYOUT_WINDOW_Candidate_selection_Line_2 AknApacLayout::Candidate_selection_Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_Candidate_selection_Limits AknApacLayout::Candidate_selection_Limits() +#define AKN_LAYOUT_TABLE_Candidate_selection AknApacLayout::Candidate_selection +#define AKN_LAYOUT_WINDOW_popup_fep_china_zi_window AknApacLayout::popup_fep_china_zi_window +#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_5 AknApacLayout::Find_pop_up_window_elements_Line_5() +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_Line_1 AknApacLayout::Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_Line_1() +#define AKN_LAYOUT_WINDOW_fep_china_uni_entry_pane AknApacLayout::fep_china_uni_entry_pane() +#define AKN_LAYOUT_WINDOW_fep_china_uni_candidate_pane AknApacLayout::fep_china_uni_candidate_pane +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0_Limits AknApacLayout::Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0_Limits() +#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0 AknApacLayout::Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0 +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_1 AknApacLayout::Chinese_universal_FEP_entry_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_2 AknApacLayout::Chinese_universal_FEP_entry_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_fep_entry_item_pane AknApacLayout::fep_entry_item_pane() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_entry_pane_elements_Limits AknApacLayout::Chinese_universal_FEP_entry_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_entry_pane_elements AknApacLayout::Chinese_universal_FEP_entry_pane_elements +#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1 AknApacLayout::Chinese_universal_FEP_entry_pane_texts_Line_1 +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_1 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_1() +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_2 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_2() +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_3 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_3() +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_4 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_4() +#define AKN_LAYOUT_WINDOW_fep_candidate_item_pane AknApacLayout::fep_candidate_item_pane() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEPcandidate_pane_elements_Limits AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Limits() +#define AKN_LAYOUT_TABLE_Chinese_universal_FEPcandidate_pane_elements AknApacLayout::Chinese_universal_FEPcandidate_pane_elements +#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_1 AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Line_1() +#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_2 AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Line_2() +#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_3 AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Line_3() +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_candidate_pane_texts_Limits AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Limits() +#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_candidate_pane_texts AknApacLayout::Chinese_universal_FEP_candidate_pane_texts +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_1 +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_2 +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_3 +#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_4 +#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_pop_up_window_graphics_Limits AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Limits() +#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_pop_up_window_graphics AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics +#define AKN_LAYOUT_WINDOW_Input_highlight_Line_1 AknApacLayout::Input_highlight_Line_1 +#define AKN_LAYOUT_WINDOW_Candidate_selection_highlight_Line_1 AknApacLayout::Candidate_selection_highlight_Line_1 +#define AKN_LAYOUT_WINDOW_Candidate_selection_highlight_Line_2 AknApacLayout::Candidate_selection_highlight_Line_2 +#define AKN_LAYOUT_TABLE_LIMITS_Candidate_selection_highlight_Limits AknApacLayout::Candidate_selection_highlight_Limits() +#define AKN_LAYOUT_TABLE_Candidate_selection_highlight AknApacLayout::Candidate_selection_highlight +#define AKN_LAYOUT_WINDOW_popup_fep_china_uni_window AknApacLayout::popup_fep_china_uni_window +#endif diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/bld.inf --- a/dependencies/bld.inf Thu Apr 01 12:25:43 2010 +0100 +++ b/dependencies/bld.inf Thu Apr 01 14:50:19 2010 +0100 @@ -60,6 +60,8 @@ SchemeHandler.inl SchemeHandler.inl aiwcommon.hrh aiwcommon.hrh aiwdialdata.h aiwdialdata.h +EikSoftkeyImage.h EikSoftkeyImage.h +AknStatuspaneUtils.h AknStatuspaneUtils.h EikSoftkeyImage.h MW_LAYER_PLATFORM_EXPORT_PATH(eiksoftkeyimage.h) AknStatuspaneUtils.h MW_LAYER_PLATFORM_EXPORT_PATH(AknStatuspaneUtils.h) @@ -74,6 +76,7 @@ AknsPkgID.inl AknsPkgID.inl +#include "extended_skin_api/bld.inf" #include "S3libs/bld.inf" #include "xcfw/bld.inf" @@ -111,4 +114,5 @@ #include "ssm/bld.inf" #include "swi/bld.inf" #include "mifconv/group/bld.inf" +#include "hs_content_control_ui/bld.inf" diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/AknsEffectAnim.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/AknsEffectAnim.h Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,274 @@ +/* +* Copyright (c) 2005 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: ?Description +* +*/ + +#ifndef AKNSEFFECTANIM_H +#define AKNSEFFECTANIM_H + +// INCLUDE FILES +#include // For TDisplayMode + +// CONSTANTS +enum TAknsAnimState + { + EAknsAnimStateStopped = 0, + EAknsAnimStateRunning = 1, + EAknsAnimStatePaused = 2, + EAknsAnimStateFinished = 3 + }; + +// In milliseconds +const TInt KAknsEffectAnimDefaultIdleInterval = 333; + +// FORWARD DECLARATIONS +class CFbsBitGc; +class CWindowGc; +class CBitmapContext; +class CFbsBitmap; +class TAknsItemID; + +class CAknsAlAnimatorBmp; + +// CLASS DECLARATION +/** +* Animation user must implement this interface to receive notification when a +* new animation frame is ready to be drawn. +* +* @since 3.0 +*/ +class MAknsEffectAnimObserver + { + public: + /** + * Animation frame is ready to be drawn. + * + * @param aError KErrNone if frame has been succesfully created and is + * available for drawing. If !KErrNone the animation has internally + * failed. + * @param aAnimId Reserved for future use + */ + virtual void AnimFrameReady( TInt aError, TInt aAnimId ) = 0; + }; + +// CLASS DECLARATION +/** +* Animation controller for using effect animations. +* +* @since 3.0 +*/ +class CAknsEffectAnim: public CBase + { +public: // Constructors + /** + * Creates a new animation controller. Full construction requires a call to + * ConstructFromSkinL. Leaves with KErrNotSupported if highlight animations + * have been disabled, see AknsUtils::SetAvkonHighlightAnimationEnabledL. + * + * @param aObserver Must be non-NULL + */ + IMPORT_C static CAknsEffectAnim* NewL( MAknsEffectAnimObserver* aObserver ); + IMPORT_C virtual ~CAknsEffectAnim(); + + /** + * Constructs animation from skin item. Leaves if animation construction + * fails. + * @param aItemID Animation skin item ID + * @return ETrue if the animation was found from the skin, EFalse if it was + * not found. + */ + IMPORT_C TBool ConstructFromSkinL( const TAknsItemID& aItemID ); + +private: + CAknsEffectAnim(); + void ConstructL( MAknsEffectAnimObserver* aObserver ); + +public: // Interface for using the animation + /** + * Starts the animation from the very beginning. + * + * @return Error code, KErrNone if operation was succesfull. If returned + * error code != KErrNone the operation has failed (OOM, internal + * misconfiguration etc). Recommended action is to delete the animation + * and fall back to normal rendering. Returns KErrNotReady if input layers + * have not been configured. + */ + IMPORT_C TInt Start(); + + /** + * Stops the animation. Input layers are released, output layer is kept. + * + * @return Error code, KErrNone if operation was succesfull. If returned + * error code != KErrNone the operation has failed (OOM, internal + * misconfiguration etc). Recommended action is to delete the animation + * and fall back to normal rendering. + */ + IMPORT_C TInt Stop(); + + /** + * Pauses the animation. Input layers are not released. + * + * @return Error code, KErrNone if operation was succesfull. If returned + * error code != KErrNone the operation has failed (OOM, internal + * misconfiguration etc). Recommended action is to delete the animation + * and fall back to normal rendering. + */ + IMPORT_C TInt Pause(); + + /** + * Continues the animation from the state where it was paused. + * + * @return Error code, KErrNone if operation was succesfull. If returned + * error code != KErrNone the operation has failed (OOM, internal + * misconfiguration etc). Recommended action is to delete the animation + * and fall back to normal rendering. + */ + IMPORT_C TInt Continue(); + + /** + * @return The current state of animation. Possible state values are + * described in TAknsAnimState. + */ + IMPORT_C TInt State(); + + /** + * Renders the current animation frame with the provided graphics context. + * The animation may have an output mask. The output mask will be used in + * the rendering if it exists. Otherwise nonmasked renderig will be used. + * Rendering will use BitBlt. For more specialized rendering use the exposed + * output bitmaps. + * + * @param aGc The graphics context used for rendering. + * @param aGcRect The frame is blit to this rectangle on the graphics + * context target. + * @return ETrue if rendering was successfull, EFalse otherwise. + */ + IMPORT_C TBool Render( CFbsBitGc& aGc, const TRect& aGcRect ) const; + + /** + * Similar to the other Render, this version is just for the window graphics + * context. + */ + IMPORT_C TBool Render( CWindowGc& aGc, const TRect& aGcRect ) const; + + /** + * Similar to the other renders, this version is just for the bitmap + * graphics context. + * + * @since 3.1 + */ + IMPORT_C TBool Render( CBitmapContext& aGc, const TRect& aGcRect ) const; + + /** + * @return The current animation output frame. Can be NULL if e.g. called + * before configuring animation layers. + */ + IMPORT_C const CFbsBitmap* OutputRgb() const; + + /** + * @return The current animation output frame mask. Output mask is optional + * --> can be NULL at any given time. + */ + IMPORT_C const CFbsBitmap* OutputAlpha() const; + + /** + * @return The minimum allowed size of animation. + */ + IMPORT_C TSize MinimumSize() const; + + /** + * @return The current size of animation. + */ + IMPORT_C TSize Size() const; + + /** + * @return ETrue if input layer is required for correct rendering but it is + * not currently present. + */ + IMPORT_C TBool NeedsInputLayer() const; + + /** + * Starts configuring input layers, should be called prior to Begin() and + * Continue() to restore input layers to animation. Configure sequence is as + * follows: + * 1. Call BeginConfigLayers to start configuration + * 2. Use InputRgbGc and InputAlphaGc to prepare input layers + * 3. Call EndConfigLayers to end configuration + * + * @param aNewSize The layer size, must be larger than or equal to minimum + * size. Providing size smaller than minimum size will lead to leave with + * KErrArgument. + * @param aAboutToStart If animation is about to be started or continued + * after layer configuration this should be set to ETrue (to keep input + * layers). Otherwise EFalse should be used. + */ + IMPORT_C void BeginConfigInputLayersL( const TSize& aNewSize, + TBool aAboutToStart ); + + /** + * Graphics context for drawing the input layer RGB. Can be NULL, in this + * case animation is not expecting input layer. + */ + IMPORT_C CFbsBitGc* InputRgbGc() const; + + /** + * Graphics context for drawing the input layer alpha. Can be NULL, in this + * case animation is not expecting input layer alpha. + */ + IMPORT_C CFbsBitGc* InputAlphaGc() const; + + /** + * Ends layer configuration. + */ + IMPORT_C void EndConfigInputLayersL(); + + /** + * Renders the output layer once without notifying the animation observer. + * Doesn't set animator error state if fails. + * @return The status of rendering, if KErrNone rendering was ok, if + * !KErrNone either rendering failed or animator is already in + * error state. + */ + IMPORT_C TInt UpdateOutput(); + + /** + * When animation is idling it won't update the actual animation. Observer + * AnimFrameReady will be called when idle timer timeouts. Animation + * observer should check there whether or not animation is idling and ignore + * redraw calls caused by idling. + * + * Only animations in state EAknsAnimStateRunning can be set idling. Setting + * idling causes the animation to go in paused state. Trying to idle + * animation in any other state will be silently ignored. Also, idling is + * interrupted when animation is started, stoppped, paused or continued. + * Idling is not interrupted if the animation is resized when being idled. + * Idling can be reset, e.g. calling SetIdling multiple times is ok. + * + * @param aInterval Idling interval in milliseconds. Using the default value + * KAknsEffectAnimDefaultIdleInterval is recommended. + */ + IMPORT_C void SetIdling( TInt aIntervalMs ); + + /** + * @return ETrue if animation is idling, EFalse otherwise. + */ + IMPORT_C TBool IsIdling() const; + +private: + CAknsAlAnimatorBmp* iAnim; + TInt iAboutToStart; + }; + +#endif // AKNSEFFECTANIM_H diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/AknsItemDef.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/AknsItemDef.h Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,1452 @@ +/* +* Copyright (c) 2002-2004 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: ?Description +* +*/ + + +#ifndef AKNSITEMDEF_H +#define AKNSITEMDEF_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +struct TAknsImageAttributeData; + +// CLASS DECLARATIONS + +/** +* Base class for item definitions. +* Item definition maps item ID specified as TAknsItemID to a specific resource +* (such as bitmap filename and index). Content of the definition varies +* depending of the type of the resource. +* +* CAknsItemDef does not itself have any dynamically allocated members. +* Therefore the members of its friend classes can instantiate CAknsItemDef +* into stack (e.g. to perform binary search with LineraOrder without heap +* allocation) using CAknsItemDef::CAknsItemDef(const TAknsItemID aID) +* constructor. Derived classes, however, require two-phased construction and +* proper destruction. +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +class CAknsItemDef : public CBase + { + + public: // Constructors and destructors + + /** + * Two-phased constructor. + * Constructs item definition object with specified ID, item type + * ::EAknsITUnknown and localization type ::EAknsIDLTDefault. + * + * @param aID Item ID of the newly created item definition. + * + * @return Newly constructed CAknsItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error code. + */ + IMPORT_C static CAknsItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + * Base-class destructor does nothing. It exists only to enable + * destruction of derived objects using pointer to base class object. + */ + IMPORT_C virtual ~CAknsItemDef(); + + public: // New functions + + /** + * Returns the item type of this item definition. + * This method can be used to provide run-time type information. + * Corresponding classes are listed in definition of ::TAknsItemType. + * + * @since 2.0 + * + * @return Type of the item definition as TAknsItemType. + */ + IMPORT_C TAknsItemType Type() const; + + /** + * Returns the item ID of this item definition. + * + * @since 2.0 + * + * @return Item ID of the item definition as TAknsItemID. + */ + IMPORT_C TAknsItemID ID() const; + + /** + * Determines the order of two CAknsItemDef objects. + * Order is determined based on the item ID of the object, as described + * in TAknsItemID::LinearOrder(). + * + * @since 2.0 + * + * @param aFirst First object to be compared. + * + * @param aSecond Second object to be compared. + * + * @return 0 if the two objects are equal, negative value if the first + * object is less than the second and positive value if the first + * object is greater than the second. + */ + IMPORT_C static TInt LinearOrder( const CAknsItemDef& aFirst, + const CAknsItemDef& aSecond ); + + private: // Reserved exports + + /** + * Reserved for future use. + * + * @since 2.0 + */ + IMPORT_C void Reserved1(); + + /** + * Reserved for future use. + * + * @since 2.0 + */ + IMPORT_C void Reserved2(); + + protected: // C++ protected constructor for derived classes + + /** + * C++ constructor for derived classes. + * Constructs item definition object with given item type and ID, + * and localization type ::EAknsIDLTDefault. + * + * @param aType Item type of the new object. + * + * @param aID Item ID of the new object. + * + * @internal + */ + CAknsItemDef( const TAknsItemType aType, const TAknsItemID& aID ); + + private: // C++ private constructor for friend classes + + /** + * C++ constructor for internal use. + * Constructs item definition object with specified ID and item type + * ::EAknsITUnknown, and localization type ::EAknsIDLTDefault. + * + * @param aID Item ID of the new item definition. + * + * @internal + */ + IMPORT_C CAknsItemDef( const TAknsItemID& aID ); + + protected: // Data + + TAknsItemType iType; //!< Item type. + TAknsItemID iID; //!< Item ID. + TInt iSpare1; //!< Reserved for future use. + TInt iSpare2; //!< Reserved for future use. + + private: // Friend classes + friend class CAknsAppSkinInstance; + + }; + +/** +* Image item definition. +* Image item definition consists of (in addition to base class data) +* image attributes and their values. Item type for image item definitions +* is ::EAknsITImage +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +NONSHARABLE_CLASS(CAknsImageItemDef) : public CAknsItemDef + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * Constructs a new image item definition object. + * + * @param aID Item ID of the new object. + * + * @return Newly constructed CAknsImageItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsImageItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + */ + virtual ~CAknsImageItemDef(); + + public: // New functions + + /** + * Sets the image attributes for this image definition. + * + * @since 2.0 + */ + IMPORT_C void SetAttributesL( const TAknsImageAttributeData& aAttributes ); + + /** + * Returns the image attributes for this image definition. + * + * @since 2.0 + */ + IMPORT_C const TAknsImageAttributeData* Attributes() const; + + protected: // C++ protected constructor + + /** + * C++ constructor for internal use. + * Constructs an image item definition object with given ID. + * + * @since 2.0 + * + * @param aType Type of the definition object. While this is always + * ::EAknsITImage for CAknsImageItemDef objects, derived classes + * may specify other values. + * + * @param aID Item ID of the new item definition. + * + * @internal + */ + CAknsImageItemDef( const TAknsItemType aType, const TAknsItemID& aID ); + + protected: // Data + + // Image attributes + TAknsImageAttributeData* iAttributeData; + + }; + +/** +* Bitmap item definition. +* Bitmap item definition consists of (in addition to base class data) bitmap +* filename and index in bitmap file. Item type for bitmap item definitions +* is always ::EAknsITBitmap. +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +NONSHARABLE_CLASS(CAknsBitmapItemDef) : public CAknsImageItemDef + { + public: // Constructors and destructor + + /** + * Two-phased constructor, complete initialization. + * Constructs a new bitmap item definition object. + * + * @param aID Item ID of the new object. + * + * @param aFilename Filename of the bitmap. Internal descriptor is + * constructed to point to the same data as the given one. + * Ownership of the original descriptor stays with the caller and + * it must ensure that the lifetime of the descriptor is appropriate. + * + * @param aIndex Index of the bitmap in the bitmap file. + * + * @return Newly constructed CAknsBitmapItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsBitmapItemDef* NewL( const TAknsItemID& aID, + const TDesC& aFilename, const TInt aIndex ); + + /** + * Two-phased constructor, partial initialization. + * Constructs a new bitmap item definition object. Bitmap filename + * and index must be set by SetFilename or SetFilenameL and SetIndex. + * + * @param aID Item ID of the new object. + * + * @return Newly constructed CAknsBitmapItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsBitmapItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + * Deletes the internal buffer reserved for bitmap filename. + */ + virtual ~CAknsBitmapItemDef(); + + public: // New functions + + /** + * Sets the filename, ownership of the descriptor stays with the caller. + * If CAknsBitmapItemDef object already owns a filename descriptor, it + * is deleted. + * + * @since 2.0 + * + * @param aFilename Reference to the descriptor containing new filename. + * Caller still owns the descriptor and must ensure that its lifetime + * is appropriate. + */ + IMPORT_C void SetFilename( const TDesC& aFilename ); + + /** + * Sets the filename, content of the descriptor is copied into an + * internal buffer. If CAknsBitmapItemDef object already owns a filename + * descriptor, it is deleted. + * + * @since 2.0 + * + * @param aFilename Reference to the descriptor containing new filename. + * Content of the descriptor is copied into an internal buffer owned + * by CAknsBitmapItemDef. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error code. + */ + IMPORT_C void SetFilenameL( const TDesC& aFilename ); + + /** + * Returns a reference to filename of this item definition. + * + * @since 2.0 + * + * @return Reference to descriptor containing the filename. Lifetime of + * the descriptor may end when SetFilename or SetFilenameL is called + * or CAknsBitmapItemDef object is deleted. + */ + IMPORT_C const TDesC& Filename() const; + + /** + * Sets bitmap file index of this item definition. + * + * @since 2.0 + * + * @param aIndex New index. + */ + IMPORT_C void SetIndex( const TInt aIndex ); + + /** + * Returns bitmap file index of this item definition. + * + * @since 2.0 + * + * @return Index of the bitmap (in the bitmap file) as integer value. + */ + IMPORT_C TInt Index() const; + + protected: // C++ protected constructor + + /** + * C++ constructor for internal use. + * Constructs bitmap item definition object with given ID and bitmap + * index. Filename needs to be set separately. + * + * @since 2.0 + * + * @param aType Type of the definition object. While this is always + * ::EAknsITBitmap for CAknsBitmapItemDef objects, derived classes + * may specify other values. + * + * @param aID Item ID of the new item definition. + * + * @param aIndex Index of the bitmap of the new item definition. + * + * @internal + */ + CAknsBitmapItemDef( const TAknsItemType aType, const TAknsItemID& aID, + const TInt aIndex ); + + protected: // Data + + TPtrC iFilename; //!< Bitmap filename. + HBufC* iFilenameBuf; //!< Internal filename buffer. + TInt iIndex; //!< Index of bitmap in bitmap file. + + }; + +/** +* Masked bitmap item definition. +* Masked bitmap item definition is derived from CAknsBitmapItemDef +* but additionally contains a second index specifying the mask. +* Item type for masked bitmap item definitions is always ::EAknsITMaskedBitmap. +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +NONSHARABLE_CLASS(CAknsMaskedBitmapItemDef) :public CAknsBitmapItemDef + { + public: // Constructors and destructor + + /** + * Two-phased constructor, complete initialization. + * Constructs a new masked bitmap item definition object. + * + * @param aID Item ID of the new object. + * + * @param aFilename Filename of the bitmap. Internal descriptor is + * constructed to point to the same data as the given one. + * Ownership of the original descriptor stays with the caller and + * it must ensure that the lifetime of the descriptor is appropriate. + * + * @param aIndex Index of the bitmap in the bitmap file. + * + * @param aMaskIndex Index of the mask in the same bitmap file. + * + * @return Newly constructed CAknsMaskedBitmapItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsMaskedBitmapItemDef* NewL( const TAknsItemID& aID, + const TDesC& aFilename, const TInt aIndex, const TInt aMaskIndex ); + + /** + * Two-phased constructor, partial initialization. + * Constructs a new masked bitmap item definition object. Bitmap + * filename and indices must be set by SetFilename or SetFilenameL, + * SetIndex and SetMaskIndex. + * + * @param aID Item ID of the new object. + * + * @return Newly constructed CAknsMaskedBitmapItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsMaskedBitmapItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + * Provided for completeness, does not actually do anything. + */ + virtual ~CAknsMaskedBitmapItemDef(); + + public: // New functions + + /** + * Sets index of mask in the bitmap file for this item definition. + * + * @since 2.0 + * + * @param aMaskIndex New index. + */ + IMPORT_C void SetMaskIndex( const TInt aMaskIndex ); + + /** + * Returns bitmap file index for bitmap mask. + * + * @since 2.0 + * + * @return Index of the mask (in the bitmap file) as integer value. + */ + IMPORT_C TInt MaskIndex() const; + + protected: // C++ protected constructor + + /** + * C++ constructor for internal use. + * Constructs masked bitmap item definition object with given ID and + * bitmap indices. Filename needs to be set separately. + * + * @param aType Type of the definition object. While this is always + * ::EAknsITMaskedBitmap for CAknsMaskedBitmapItemDef objects, + * derived classes may specify other values. + * + * @param aID Item ID of the new item definition. + * + * @param aIndex Index of the bitmap of the new item definition. + * + * @param aMaskIndex Index of the bitmap mask of the new definition. + * + * @internal + */ + CAknsMaskedBitmapItemDef( const TAknsItemType aType, + const TAknsItemID& aID, const TInt aIndex, const TInt aMaskIndex ); + + protected: // Data + + TInt iMaskIndex; //!< Index of mask in bitmap file. + + }; + +/** +* Data structure for color values. +* +* @since 2.0 +* +* @internal +*/ +struct TAknsColorTableEntry + { + /** + * Indexed color value, or -1 if RGB value is used instead. + */ + TInt iIndex; + + /** + * RGB-value, used only if iIndex is -1. + */ + TUint32 iRgb; + }; + +/** +* Color table item definition. +* Color table item definition contains (in addition to base class data) an +* array of color values. Item type for color table item definitions is always +* ::EAknsITColorTable. +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +NONSHARABLE_CLASS(CAknsColorTableItemDef) :public CAknsImageItemDef + { + public: // Constructors and destructor + + /** + * Two-phased constructor, complete initialization. + * Constructs a new color table item definition object. + * + * @param aID Item ID of the new object. + * + * @param aNumberOfColors Number of colors available in aColors. + * + * @param aColors Pointer to the first color. Internal pointer is set + * to point to the same place as the given one. Ownership of the + * color array stays with the caller and it must ensure that its + * lifetime is appropriate. + * + * @return Newly constructed CAknsColorTableItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsColorTableItemDef* NewL( const TAknsItemID& aID, + const TInt aNumberOfColors, + const TAknsColorTableEntry *const aColors ); + + /** + * Two-phased constructor, partial initialization. + * Constructs a new color table item definition object. Colors must + * be set separately by using SetColorsL or SetColors. + * + * @param aID Item ID of the new object. + * + * @return Newly constructed CAknsColorTableItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsColorTableItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + * If the object owns a color array, it is destroyed. + */ + virtual ~CAknsColorTableItemDef(); + + public: // New functions + + /** + * Sets the colors, ownership of the color array stays with the caller. + * If this object already owns a color array, it is destroyed. + * + * @since 2.0 + * + * @param aNumberOfColors Number of colors in aColors. + * + * @param aColors Pointer to the first color. The caller still owns + * the color array and must ensure that its lifetime is appropriate. + */ + IMPORT_C void SetColors( const TInt aNumberOfColors, + const TAknsColorTableEntry *const aColors ); + + /** + * Sets the colors, content of the array is copied to an internal + * array. If this object already owns a color array, it is destroyed. + * + * @since 2.0 + * + * @param aNumberOfColors Number of colors in aColors. + * + * @param aColors Pointer to the first color. + * + * @par Exceptions: + * If allocation fails, returns with an error code. + */ + IMPORT_C void SetColorsL( const TInt aNumberOfColors, + const TAknsColorTableEntry *const aColors ); + + /** + * Returns pointer to color values. + * + * @since 2.0 + * + * @return Pointer to color values. The array is still owned by this + * object. + */ + IMPORT_C const TAknsColorTableEntry* Colors() const; + + /** + * Returns the number of colors. + * + * @since 2.0 + * + * @return Number of colors. + */ + IMPORT_C TInt NumberOfColors() const; + + protected: // C++ protected constructor + + /** + * C++ constructor for internal use. + * Constructs color item definition object with given ID. Color + * array must be set separately. + * + * @param aType Type of the definition object. While this is always + * ::EAknsITColorTable for CAknsColorTableItemDef objects, derived + * classes may specify other values. + * + * @param aID Item ID of the new item definition. + * + * @internal + */ + CAknsColorTableItemDef( const TAknsItemType aType, + const TAknsItemID& aID ); + + protected: // Data + + // Color array + const TAknsColorTableEntry* iColorArray; + // Internal (owned) color array + TAknsColorTableEntry* iInternalColorArray; + // Number of colors + TInt iNumberOfColors; + }; + +/** +* Image table item definition. +* Image table item definition contains (in addition to base class data) +* an array containing image IDs. Item type for image table item definitions is +* always ::EAknsITImageTable. +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +NONSHARABLE_CLASS(CAknsImageTableItemDef) : public CAknsImageItemDef + { + public: // Constructors and destructor + + /** + * Two-phased constructor, complete initialization. + * Constructs an image table item definition object. + * + * @param aID Item ID of the new object. + * + * @param aNumberOfImages Number of entries in aImages. + * + * @param aImages Pointer to the first item ID. + * An internal pointer is set to point to the same place as the + * given one. Ownership of the array stays with the caller and it + * must ensure that its lifetime is appropriate. + * + * @return Newly constructed CAknsImageTableItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsImageTableItemDef* NewL( const TAknsItemID& aID, + const TInt aNumberOfImages, const TAknsItemID *const aImages ); + + /** + * Two-phased constructor, partial initialization. + * Constructs a new image table item definition object. Images must + * be set separately by using SetImagesL or SetImages. + * + * @param aID Item ID of the new object. + * + * @return Newly constructed CAknsImageTableItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsImageTableItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + * If the object owns an array, it is destroyed. + */ + virtual ~CAknsImageTableItemDef(); + + public: // New functions + + /** + * Sets the images, ownership of the image item ID array stays with + * the caller. If this object already owns an array, it is destroyed. + * + * @since 2.0 + * + * @param aNumberOfImages Number of images in aImages. + * + * @param aImages Pointer to the first TAknsItemID. The caller + * still owns the array and must ensure that its lifetime is + * appropriate. + */ + IMPORT_C void SetImages( const TInt aNumberOfImages, + const TAknsItemID *const aImages ); + + /** + * Sets the images, content of the array is copied to an internal + * array. If this object already owns an array, it is destroyed. + * + * @since 2.0 + * + * @param aNumberOfImages Number of images in aImages. + * + * @param aImages Pointer to the first image item ID. + * + * @par Exceptions: + * If allocation fails, returns with an error code. + */ + IMPORT_C void SetImagesL( const TInt aNumberOfImages, + const TAknsItemID *const aImages ); + + /** + * Returns pointer to the first element of the image array. + * + * @since 2.0 + * + * @return Pointer to the first entry. The array is still owned + * by this object. + */ + IMPORT_C const TAknsItemID* Images() const; + + /** + * Returns the number of images. + * + * @since 2.0 + * + * @return Number of images. + */ + IMPORT_C TInt NumberOfImages() const; + + protected: // C++ protected constructor + + /** + * C++ constructor for internal use. + * Constructs image table item definition object with given ID. + * The image array must be set separately. + * + * @param aType Type of the definition object. While this is always + * ::EAknsITImageTable for CAknsImageTableItemDef objects, derived + * classes may specify other values. + * + * @param aID Item ID of the new item definition. + * + * @internal + */ + CAknsImageTableItemDef( const TAknsItemType aType, + const TAknsItemID& aID ); + + protected: // Data + + const TAknsItemID* iImageArray; //!< Image ID array. + TAknsItemID* iInternalImageArray; //!< Internal (owned) image ID array. + TInt iNumberOfImages; //!< Number of images in the array. + }; + +/** +* Data structure for animation frame properties. +* +* @since 2.0 +* +* @internal +*/ +struct TAknsBmpAnimFrameInfo + { + /** + * Frame time in milliseconds or -1 if not defined. + */ + TInt16 iTime; + + /** + * Frame position X-coordinate. + */ + TInt16 iPosX; + + /** + * Frame position Y-coordinate. + */ + TInt16 iPosY; + }; + +/** +* Bitmap animation item definition. +* Bitmap animationitem definition contains (in addition to base class data) +* animation properties and an array containing frame properties. +* Item type for image table item definitions is +* always ::EAknsITBmpAnim. +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +NONSHARABLE_CLASS(CAknsBmpAnimItemDef) : public CAknsImageTableItemDef + { + public: // Constructors and destructor + + /** + * Two-phased constructor, complete initialization. + * Constructs a bitmap animation item definition object. + * + * @param aID Item ID of the new object. + * + * @param aNumberOfImages Number of entries in aImages. + * + * @param aImages Pointer to the first item ID. + * An internal pointer is set to point to the same place as the + * given one. Ownership of the array stays with the caller and it + * must ensure that its lifetime is appropriate. + * + * @param aFrameInfos Pointer to the first frame info. + * Ownership is handled as with aImages. + * + * @return Newly constructed CAknsBmpAnimItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsBmpAnimItemDef* NewL( const TAknsItemID& aID, + const TInt aNumberOfImages, const TAknsItemID *const aImages, + const TAknsBmpAnimFrameInfo *const aFrameInfos ); + + /** + * Two-phased constructor, partial initialization. + * Constructs a new bitmap animation item definition object. Images must + * be set separately by using SetImagesL and SetFrameInfosL or SetImages + * and SetFrameInfos. + * + * @param aID Item ID of the new object. + * + * @return Newly constructed CAknsBmpAnimItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsBmpAnimItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + * If the object owns an array, it is destroyed. + */ + virtual ~CAknsBmpAnimItemDef(); + + public: // New functions + + /** + * Sets frame properties, ownership of the frame info array stays with + * the caller. If this object already owns an array, it is destroyed. + * + * The number of frame info objects in the array must match the number + * of images. This implies that SetFrameInfos can not be called before + * images have been set. + * + * @since 2.0 + * + * @param aFrameInfos Pointer to the first TAknsBmpAnimFrameInfo. The + * caller still owns the array and must ensure that its lifetime is + * appropriate. + */ + IMPORT_C void SetFrameInfos( + const TAknsBmpAnimFrameInfo *const aFrameInfos ); + + /** + * Sets frame propertis, content of the array is copied to an internal + * array. If this object already owns an array, it is destroyed. + * + * The number of frame info objects in the array must match the number + * of images. This implies that SetFrameInfosL can not be called before + * images have been set. + * + * @since 2.0 + * + * @param aFrameInfos Pointer to the first TAknsBmpAnimFrameInfo. + * + * @par Exceptions: + * If allocation fails, returns with an error code. + */ + IMPORT_C void SetFrameInfosL( + const TAknsBmpAnimFrameInfo *const aFrameInfos ); + + /** + * Returns pointer to the first element of the frame info array. + * + * @since 2.0 + * + * @return Pointer to the first entry. The array is still owned + * by this object. + */ + IMPORT_C const TAknsBmpAnimFrameInfo* FrameInfos() const; + + /** + * Sets the flag indicating whether the last frame should be + * interpreted as the background (i.e. excluded from the animation + * itself). + * + * @since 2.0 + * + * @param aLastFrameBg Boolean value. + */ + IMPORT_C void SetLastFrameBackground( TBool aLastFrameBg ); + + /** + * Retrieves the flag value indicating whether the last frame + * should be interpreted as the background. + * + * @since 2.0 + * + * @return Boolean value. + */ + IMPORT_C TBool LastFrameBackground() const; + + /** + * Sets the frame interval for the entire animation. + * + * @since 2.0 + * + * @param aFrameInterval Frame interval in milliseconds or -1. + */ + IMPORT_C void SetFrameInterval( const TInt16 aFrameInterval ); + + /** + * Retrieves the frame interval. + * + * @since 2.0 + * + * @return Frame interval in milliseconds or -1. + */ + IMPORT_C TInt16 FrameInterval() const; + + /** + * Sets the play mode for the entire animation. + * + * @since 2.0 + * + * @param aPlayMode Play mode. + */ + IMPORT_C void SetPlayMode( const TInt16 aPlayMode ); + + /** + * Retrieves the play mode. + * + * @since 2.0 + * + * @return Play mode. + */ + IMPORT_C TInt16 PlayMode() const; + + /** + * Sets the flash property for the entire animation. + * + * @since 2.0 + * + * @param aFlash Flash flag value. + */ + IMPORT_C void SetFlash( const TBool aFlash ); + + /** + * Retrieves the flash property. + * + * @since 2.0 + * + * @return Flash flag value. + */ + IMPORT_C TBool Flash() const; + + protected: // C++ protected constructor + + /** + * C++ constructor for internal use. + * Constructs bitmap animation item definition object with given ID. + * The image array and frame properties must be set separately. + * + * @param aType Type of the definition object. While this is always + * ::EAknsITBmpAnim for CAknsBmpAnimItemDef objects, derived + * classes may specify other values. + * + * @param aID Item ID of the new item definition. + * + * @internal + */ + CAknsBmpAnimItemDef( const TAknsItemType aType, + const TAknsItemID& aID ); + + protected: // Data + + const TAknsBmpAnimFrameInfo* iFrameArray; //!< Frame array. + TAknsBmpAnimFrameInfo* iInternalFrameArray; //!< Internal (owned) image frame array. + + TBool iLastFrameBackground; //!< Last frame used as background flag. + TInt16 iFrameInterval; //!< Frame interval. + TInt16 iPlayMode; //!< Play mode. + TBool iFlash; //!< Flash flag. + }; + +/** +* String item definition. +* String item definition consists of (in addition to base class data) +* a single string value. Item type for string item definitions is +* ::EAknsITString +* +* This is a public class with exported functions. +* The class is not intended for derivation outside the library. +* +* @lib AknSkinSrv.lib +* +* @since 2.6 +*/ +NONSHARABLE_CLASS(CAknsStringItemDef) : public CAknsItemDef + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * Constructs a new string item definition object. + * + * @since 2.6 + * + * @param aID Item ID of the new object. + * + * @return Newly constructed CAknsStringItemDef object. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error + * code. + */ + IMPORT_C static CAknsStringItemDef* NewL( const TAknsItemID& aID ); + + /** + * Destructor. + */ + virtual ~CAknsStringItemDef(); + + public: // New functions + + /** + * Sets the string, content of the descriptor is copied into an + * internal buffer. If CAknsStringItemDef object already owns a filename + * descriptor, it is deleted. + * + * @since 2.6 + * + * @param aString Reference to the descriptor containing new value. + * Content of the descriptor is copied into an internal buffer owned + * by CAknsStringItemDef. + * + * @par Exceptions: + * If allocation fails, function leaves with a system-wide error code. + */ + IMPORT_C void SetStringL( const TDesC& aString ); + + /** + * Returns a reference to the string value of this item definition. + * + * @since 2.6 + * + * @return Reference to descriptor containing the value. Lifetime of + * the descriptor may end when SetStringL is called + * or CAknsStringItemDef object is deleted. + */ + IMPORT_C const TDesC& String() const; + + protected: // C++ protected constructor + + /** + * C++ constructor for internal use. + * Constructs an string item definition object with given ID. + * + * @since 2.6 + * + * @param aType Type of the definition object. While this is always + * ::EAknsITString for CAknsStringItemDef objects, derived classes + * may specify other values. + * + * @param aID Item ID of the new item definition. + * + * @internal + */ + CAknsStringItemDef( const TAknsItemType aType, const TAknsItemID& aID ); + + protected: // Data + + HBufC* iString; // String value, owned + + }; + +/** +* +* @since 2.8 +*/ +NONSHARABLE_CLASS(CAknsEffectParamDef) : public CBase + { + public: + IMPORT_C static CAknsEffectParamDef* NewL(); + virtual ~CAknsEffectParamDef(); + + public: + IMPORT_C void SetType(TUint32 aType); + IMPORT_C TUint32 GetType(); + + IMPORT_C void SetNameL(const TDesC& aName); + IMPORT_C const TDesC* GetName(); + + IMPORT_C void SetValue(TUint32 aParam); + IMPORT_C void SetValueL(const TDesC& aParam); + IMPORT_C void SetValueL(const TDesC& aFilename, + TUint32 aBitmapIndex, TUint32 aMaskIndex); + + IMPORT_C TUint32 GetNumber(); + IMPORT_C const TDesC* GetString(); + IMPORT_C const TDesC* GetFilename(); + IMPORT_C TUint32 GetBitmapIndex(); + IMPORT_C TUint32 GetMaskIndex(); + + protected: + CAknsEffectParamDef(); + + private: + TUint32 iParamType; + TUint32 iParam; + TUint32 iBitmapIndex; + TUint32 iMaskIndex; + HBufC* iParamName; + HBufC* iParamString; + HBufC* iFilename; + }; + +/** +* +* @since 2.8 +*/ +NONSHARABLE_CLASS(CAknsEffectItemDef) : public CBase + { + public: + IMPORT_C static CAknsEffectItemDef* NewL(); + virtual ~CAknsEffectItemDef(); + + public: // New functions + + IMPORT_C void SetEffectUid( const TUid aUid ); + IMPORT_C TUid EffectUid() const; + + IMPORT_C void AddParameterL(CAknsEffectParamDef* aParam); + IMPORT_C CAknsEffectParamDef* GetParameter(TInt32 aIndex) const ; + IMPORT_C TInt ParameterCount() const; + + IMPORT_C void SetLayerIndexesAndModes( + TUint32 aInputLayerAIndex, TUint32 aInputLayerAMode, + TUint32 aInputLayerBIndex, TUint32 aInputLayerBMode, + TUint32 aOutputLayerIndex, TUint32 aOutputLayerMode ); + + protected: + CAknsEffectItemDef(); + + public: + TUint32 iInputLayerAIndex; + TUint32 iInputLayerAMode; + TUint32 iInputLayerBIndex; + TUint32 iInputLayerBMode; + TUint32 iOutputLayerIndex; + TUint32 iOutputLayerMode; + + private: + TUid iUid; //!< Effect UID. + RPointerArray iParamArray; + }; + +/** +* +* @since 2.8 +*/ +NONSHARABLE_CLASS(CAknsEffectQueueItemDef) : public CAknsItemDef + { + public: // Constructors and destructor + IMPORT_C static CAknsEffectQueueItemDef* NewL(const TAknsItemID& aID); + virtual ~CAknsEffectQueueItemDef(); + + public: + IMPORT_C void AddEffectL(CAknsEffectItemDef* aItemDef); + IMPORT_C CAknsEffectItemDef* GetEffect( TInt32 aIndex ) const; + IMPORT_C TUint32 EffectCount() const; + + IMPORT_C void SetLayerIndexesAndModes( + TUint32 aInputLayerIndex, TUint32 aInputLayerMode, + TUint32 aOutputLayerIndex, TUint32 aOutputLayerMode ); + IMPORT_C void SetReference(const TAknsItemID& aID); + + protected: + CAknsEffectQueueItemDef( const TAknsItemType aType, + const TAknsItemID& aID); + + public: + TUint32 iInputLayerIndex; + TUint32 iInputLayerMode; + TUint32 iOutputLayerIndex; + TUint32 iOutputLayerMode; + TAknsItemID iReference; + + private: + RPointerArray iEffectArray; + }; + +// ============================================================================= +// Animation related definitions +// ============================================================================= + +/** +* @since 3.0 +*/ +class CAknsSizeBoundParamDef: public CBase + { + public: // Constructors and destructor + IMPORT_C static CAknsSizeBoundParamDef* NewL(); + virtual ~CAknsSizeBoundParamDef(); + + public: // New functions + IMPORT_C void SetDataL( const TDesC& aName, + TUint32 aAnimationValueId, + TUint32 aParamFlags ); + + IMPORT_C const TDesC* Name() const; + IMPORT_C TUint32 AnimationValueId() const; + IMPORT_C TUint32 ParamFlags() const; + + protected: + CAknsSizeBoundParamDef(); + + private: + TDesC* iName; + TUint32 iAnimationValueId; + TUint32 iParamFlags; + }; + +/** +* @since 3.0 +*/ +class CAknsNamedReferenceDef: public CBase + { + public: // Constructors and destructor + IMPORT_C static CAknsNamedReferenceDef* NewL(); + virtual ~CAknsNamedReferenceDef(); + + public: // New functions + IMPORT_C void SetDataL( const TDesC& aName, + TUint32 aAnimationValueId ); + + IMPORT_C const TDesC* Name() const; + IMPORT_C TUint32 AnimationValueId() const; + + protected: + CAknsNamedReferenceDef(); + + private: + TDesC* iName; + TUint32 iAnimationValueId; + }; + +/** +* @since 3.0 +*/ +class CAknsTimingModelDef: public CBase + { + public: // Constructors and destructor + IMPORT_C static CAknsTimingModelDef* NewL(); + virtual ~CAknsTimingModelDef(); + + public: // New functions + IMPORT_C void SetTimingModelUid( const TUid aUid ); + IMPORT_C TUid TimingModelUid() const; + + IMPORT_C void AddParameterL( CAknsEffectParamDef* aParam ); + IMPORT_C CAknsEffectParamDef* Parameter( TInt32 aIndex ) const; + IMPORT_C TInt ParameterCount() const; + + protected: + CAknsTimingModelDef(); + + private: + TUid iTimingModelUid; + RPointerArray iParamArray; + }; + +/** +* @since 3.0 +*/ +class CAknsAnimationValueDef: public CBase + { + public: // Constructors and destructor + IMPORT_C static CAknsAnimationValueDef* NewL(); + virtual ~CAknsAnimationValueDef(); + + public: // New functions + IMPORT_C void SetAnimationValueUid( const TUid aUid ); + IMPORT_C TUid AnimationValueUid() const; + + IMPORT_C void SetTimingModelId( TUint32 aId ); + IMPORT_C TUint32 TimingModelId() const; + + IMPORT_C void AddParameterL( CAknsEffectParamDef* aParam ); + IMPORT_C CAknsEffectParamDef* Parameter( TInt32 aIndex ) const; + IMPORT_C TInt ParameterCount() const; + + protected: + CAknsAnimationValueDef(); + + private: + TUid iAnimationValueUid; + TUint32 iTimingModelId; + RPointerArray iParamArray; + }; + +/** +* Note inheritance relationship with CAknsEffectItemDef. +* +* @since 3.0 +*/ +class CAknsAnimationCommandItemDef: public CAknsEffectItemDef + { + public: // Constructors and destructor + IMPORT_C static CAknsAnimationCommandItemDef* NewL(); + virtual ~CAknsAnimationCommandItemDef(); + + public: // New functions + IMPORT_C void AddNamedReferenceL( CAknsNamedReferenceDef* aRef ); + IMPORT_C CAknsNamedReferenceDef* NamedReference( TInt32 aIndex ) const; + IMPORT_C TInt NamedReferenceCount() const; + + protected: + CAknsAnimationCommandItemDef(); + + private: + RPointerArray iNamedReferenceArray; + }; + +/** +* @since 3.0 +*/ +class CAknsAnimationItemDef: public CAknsItemDef + { + public: // Constructors and destructor + IMPORT_C static CAknsAnimationItemDef* NewL( const TAknsItemID& aID ); + virtual ~CAknsAnimationItemDef(); + + public: // New functions + + IMPORT_C void SetLayerIndexesAndModes( + TUint32 aInputLayerIndex, TUint32 aInputLayerMode, + TUint32 aOutputLayerIndex, TUint32 aOutputLayerMode ); + + IMPORT_C void SetMinInterval( TUint32 aMinInterval ); + IMPORT_C TUint32 MinInterval() const; + + IMPORT_C void SetMorphing( TBool aMorphing ); + IMPORT_C TBool Morphing() const; + + IMPORT_C void AddPreprocessCommandL( CAknsEffectItemDef* aItemDef ); + IMPORT_C CAknsEffectItemDef* PreprocessCommand( TInt32 aIndex ) const; + IMPORT_C TInt PreprocessCommandCount() const; + + IMPORT_C void AddAnimationCommandItemL( CAknsAnimationCommandItemDef* aCommand ); + IMPORT_C CAknsAnimationCommandItemDef* AnimationCommandItem( TInt32 aIndex ) const; + IMPORT_C TInt AnimationCommandItemCount() const; + + IMPORT_C void AddAnimationValueL( CAknsAnimationValueDef* aValue ); + IMPORT_C CAknsAnimationValueDef* AnimationValue( TInt32 aIndex ) const; + IMPORT_C TInt AnimationValueCount() const; + + IMPORT_C void AddTimingModelL( CAknsTimingModelDef* aModel ); + IMPORT_C CAknsTimingModelDef* TimingModel( TInt32 aIndex ) const; + IMPORT_C TInt TimingModelCount() const; + + IMPORT_C void AddSizeBoundParamL( CAknsSizeBoundParamDef* aParam ); + IMPORT_C CAknsSizeBoundParamDef* SizeBoundParam( TInt32 aIndex ) const; + IMPORT_C TInt SizeBoundParamCount() const; + + protected: + CAknsAnimationItemDef( const TAknsItemType aType, const TAknsItemID& aID ); + + public: + TUint32 iInputLayerIndex; + TUint32 iInputLayerMode; + TUint32 iOutputLayerIndex; + TUint32 iOutputLayerMode; + + private: + TUint32 iMinInterval; + TBool iMorphing; + + RPointerArray iPreprocessCommandArray; + RPointerArray iCommandArray; + RPointerArray iAnimationValueArray; + RPointerArray iTimingModelArray; + RPointerArray iSizeBoundParamArray; + }; + +#endif // AKNSITEMDEF_H + +// End of File diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/AknsPkgID.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/AknsPkgID.h Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,158 @@ +/* +* Copyright (c) 2003 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: Defines the package ID class used to identify skin packages +* +*/ + + +#ifndef AKNSPKGID_H +#define AKNSPKGID_H + +// INCLUDES +#include +#include + +// CONSTANTS + +static const TInt KAknsPkgIDDesSize = 23; + +// DATA TYPES + +typedef TBuf TAknsPkgIDBuf; + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* Package identifier used to identify skin packages. Package ID may be either +* a UID or a timestamp and random number pair. +* +* Note that the class does not define any constructors. This ensures that +* @c TAknsPkgID can be used in ROM constants. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +class TAknsPkgID + { + public: // New functions + + /** + * Sets skin package ID by giving a UID. + * + * @param aUid New UID to be set as the value of the package ID. + */ + inline void Set( const TUid aUid ); + + /** + * Sets skin package ID by giving a timestamp and a random number. + * + * @param aTimestamp Timestamp as an integer. Must be non-zero. + * + * @param aNumber Random number. + */ + inline void Set( const TInt aTimestamp, const TInt aNumber ); + + /** + * Sets skin package ID by an existing package ID. + * + * @param aID Skin package ID. + */ + inline void Set( const TAknsPkgID& aID ); + + /** + * Checks whether the skin package ID is a UID. + * + * @return ETrue if the skin package ID is a UID, EFalse otherwise. + */ + inline TBool IsUid() const; + + /** + * Returns the skin package ID as a UID. If the package ID is not a + * UID, the result is undefined. + * + * @return Skin packge ID as a UID. + */ + inline TUid Uid() const; + + public: // New functions - String conversions + + /** + * Copies the content of the package ID to the given descriptor. + * The size of the descriptor must be at least the size of + * @c TAknsPkgIDBuf. Otherwise the method may panic. + * + * @param aDes Target descriptor. + */ + IMPORT_C void CopyToDes( TDes& aDes ) const; + + /** + * Sets the content of the package ID based on the given character + * representation. The content of the given descriptor must be + * valid (as generated by @c CopyToDes). + * + * If the given descriptor doesn't contain a correctly formatted + * skin package ID the method leaves and the content of the object + * is undefined. + * + * @param aDes Source descriptor. + */ + IMPORT_C void SetFromDesL( const TDesC& aDes ); + + public: // Data + + TInt iNumber; //!< Number or UID. + TInt iTimestamp; //!< Timestamp (or 0 if UID). + + }; + +// CONSTANTS (continued) + +static const TAknsPkgID KAknsNullPkgID = { 0, 0 }; + +// FUNCTION PROTOTYPES + +/** +* C++ equal operator. +* Checks whether two package ID objects have identical content. +* +* @param aFirst First object to be compared. +* +* @param aSecond Second object to be compared. +* +* @return true if objects have identical content, false otherwise. +*/ +inline TBool operator==( const TAknsPkgID& aFirst, const TAknsPkgID& aSecond ); + +/** +* C++ not equal operator. +* Checks whether two package ID objects have identical content. +* +* @param aFirst First object to be compared. +* +* @param aSecond Second object to be compared. +* +* @return false if objects have identical content, true otherwise. +*/ +inline TBool operator!=( const TAknsPkgID& aFirst, const TAknsPkgID& aSecond ); + +// INLINED MEMBERS + +#include "AknsPkgID.inl" + +#endif // AKNSITEMID_H + +// End of File diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/AknsPkgID.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/AknsPkgID.inl Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,59 @@ +/* +* Copyright (c) 2003 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: ?Description +* +*/ + + +// INLINED MEMBERS + +inline void TAknsPkgID::Set( const TUid aUid ) + { + iNumber = aUid.iUid; + iTimestamp = 0; + } + +inline void TAknsPkgID::Set( const TInt aTimestamp, const TInt aNumber ) + { + iNumber = aNumber; + iTimestamp = aTimestamp; + } + +inline void TAknsPkgID::Set( const TAknsPkgID& aID ) + { + iNumber = aID.iNumber; + iTimestamp = aID.iTimestamp; + } + +inline TBool TAknsPkgID::IsUid() const + { + return iTimestamp==0 ? ETrue : EFalse; + } + +inline TUid TAknsPkgID::Uid() const + { + return TUid::Uid(iNumber); + } + +inline TBool operator==( const TAknsPkgID& aFirst, const TAknsPkgID& aSecond ) + { + return (aFirst.iNumber==aSecond.iNumber)&&(aFirst.iTimestamp==aSecond.iTimestamp); + } + +inline TBool operator!=( const TAknsPkgID& aFirst, const TAknsPkgID& aSecond ) + { + return (aFirst.iNumber!=aSecond.iNumber)||(aFirst.iTimestamp!=aSecond.iTimestamp); + } + +// End of File diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/AknsSrvChunkLookup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/AknsSrvChunkLookup.h Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,251 @@ +/* +* Copyright (c) 2003-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: Chunk Lookup. +* +*/ + + +#ifndef AKNSSRVCHUNKLOOKUP_H +#define AKNSSRVCHUNKLOOKUP_H + +// INCLUDES + +#include +#include +#include + +// FORWARD DECLARATIONS +struct TAknsSrvItemDef; + +/** +* A class for looking up and creating item definitions stored in the +* shared memory chunk. +* +* @since 2.0 +*/ +NONSHARABLE_CLASS(CAknsSrvChunkLookup) : public CBase + { + public: // Construction and destruction + + /** + * SymbianOS two-phased constructor. + * + * @since 2.0 + * + * @return A new instance of CAknsSrvChunkLookup. + * + * @par Exceptions: + * If the construction fails, the leaves with one of the system wide + * error codes. + */ + static CAknsSrvChunkLookup* NewL(); + + /** + * Default C++ destructor. + */ + virtual ~CAknsSrvChunkLookup(); + + public: // New methods + + /** + * Returns item definition object matching the given item ID. + * Performs lookup for the given item ID and returns an instance of one + * of the subclasses of CAknsItemDef matching the given ID. If the call + * is successfull, ownership of the item definition object is transferred + * to the caller. + * + * @since 2.0 + * + * @param aID Item ID to be searched. + * + * @return Pointer to the item definition object now owned by the caller, + * or @c NULL if there was no match for the given IID. + * + * @par Exceptions: + * If construction of the item definition object failed, method leaves + * with an error code. + */ + IMPORT_C CAknsItemDef* LookupAndCreateDefL( const TAknsItemID& aID ); + + /** + * Returns stored scalable bitmaps and optionally its mask if it + * was stored. The ownership of the returned bitmap (and mask, if any) + * is transferred to the caller. + * + * Optionally, the caller can give the current copy of the bitmap and + * mask as aBitmap and aMask parameters. If the currently stored + * scalable bitmaps have the same handles, they are not re-duplicated. + * The ownership of the given bitmaps is transferred to chunk lookup. + * + * @since 2.8 + * + * @param aID Item ID to be searched. + * + * @param aLayout The layout id type for the searhed item. + * + * @param aBitmap Current bitmap or @c NULL. Ownership is transferred. + * After return, contains the newly duplicated bitmap, or @c NULL if + * not found. Ownership is transferred. + * + * @param aMask Current mask or @c NULL. Ownership is transferred. + * After return, contains the newly duplicated mask, or @c NULL if + * not found. Ownership is transferred. + */ + IMPORT_C void LookupAndCreateScalableItemL( const TAknsItemID& aID, + const TInt aLayout, const TSize& aLayoutSize, CFbsBitmap*& aBitmap, + CFbsBitmap*& aMask, TInt& aMorphing); + + /** + * Blocks write access to the shared memory chunk. + * + * @since 2.0 + */ + void BeginRead(); + + /** + * Allows write access to the shared memory chunk. + * + * @since 2.0 + */ + void EndRead(); + + /** + * Blocks all rendering. + * + * @since 2.8 + */ + IMPORT_C void BeginRender(); + + /** + * Allows rendering. + * + * @since 2.8 + */ + IMPORT_C void EndRender(); + + private: // Reserved exports + + /** + * Reserved for future use. + * + * @since 2.0 + * + * @return Always returns zero. + */ + IMPORT_C TInt Reserved(); + + protected: // New methods + + /** + * Creates an item definition object (or leaves) based on the given + * item definition structure. + * + * Note that this method does not use the semaphore, and is therefore + * unprotected. + * + * @param aID Item ID of the item. + * + * @param aType Type of the definition. + * + * @param aDef Pointer to the definition. + * + * @param aBasePtr Chunk base pointer. + * + * @return Newly construction item definition object, or @c NULL if + * aDef was @c NULL. + * + * @since 2.0 + */ + CAknsItemDef* CreateUnprotectedL( const TAknsItemID& aID, + const TAny* aDef, const TAknsItemType aType, + const TAny* aBasePtr ); + + /** + * Returns stored scalable bitmaps and optionally its mask if it + * was stored. + * + * Note that this method does not use the semaphore, and is therefore + * unprotected. + * + * @since 2.8 + */ + void LookupAndCreateScalableItemUnprotectedL( const TAknsItemID& aID, + const TInt aLayout, const TSize& aLayoutSize, CFbsBitmap*& aBitmap, + CFbsBitmap*& aMask, TInt& aMorphing); + + /** + * + * @since 3.0 + */ + CAknsEffectQueueItemDef* CreateEffectQueueL( const TAknsItemID& aID, + const TAny* aDefPtr, const TAny* aBasePtr ); + + /** + * + * @since 3.0 + */ + CAknsAnimationItemDef* CreateAnimationL( const TAknsItemID& aID, + const TAny* aDefPtr, const TAny* aBasePtr ); + + /** + * @since 3.0 + */ + CAknsEffectItemDef* CreateEffectL( const TUint8* aData, + const TBool aIsAnimationCommand, const TAny* aBasePtr ); + + /** + * @since 3.0 + */ + CAknsEffectParamDef* CreateParameterL( const TUint8* aData, const TAny* aBasePtr ); + + /** + * @since 3.0 + */ + TUint32 CreateParameterL( CAknsEffectParamDef*& aDef, + const TUint32 aOffset, + const TAny* aDefPtr, + const TAny* aBasePtr ); + + /** + * @since 3.0 + */ + TUint32 CreateEffectL( CAknsEffectItemDef*& aDef, + const TUint32 aOffset, + const TAny* aDefPtr, + const TAny* aBasePtr, + const TBool aIsAnimationCommand ); + + protected: // Protected constructors + + /** + * Default C++ constructor + */ + CAknsSrvChunkLookup(); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + private: // Data + + RChunk iSharedChunk; + RSemaphore iWaitSema; + RMutex iRenderMutex; + + }; + +#endif // AKNSSRVCHUNKLOOKUP_H + +// End of file. diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/AknsSrvClient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/AknsSrvClient.h Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,536 @@ +/* +* Copyright (c) 2002-2008 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: Defines the public client side interface class to access the + Skin Server and the skin change observer class to listen for + skin changes in the system. +* +*/ + + +#ifndef AKNSSRVCLIENT_H +#define AKNSSRVCLIENT_H + +// INCLUDES +#include +#include +#include +#include +#include + +#include "AknsSrvChunkLookup.h" + +// DATA TYPES + +/** +* Reasons for panicing client thread. +* +* @since 2.0 +*/ +enum TAknSkinSrvPanic + { + EAknsSrvBadRequest = 0, + EAknsSrvNotConnected = 2, + EAknsSrvNotifyHandlerMissing = 3, + EAknsSrvNoActiveScheduler = 4, + EAknsSrvCannotCreateSharedChunk = 6, + EAknsSrvBadAlignment = 8, + EAknsSrvFatalMergeFailure = 10, + EAknsSrvCannotAdjustChunk = 12, + EAknsSrvTooManyItemDefs = 14, + EAknsSrvCannotRestoreDefaults = 16, + EAknsSrvNotifyListImbalance = 18, + EAknsSrvInvalidMessageHandle = 20, + EAknsSrvInvalidBuildConf = 22, + EAknsSrvFatalDRMFailure = 24 + }; + +enum TAknsSrvInifileType + { + EAknsSrvInifileSSWP, + EAknsSrvInifileSSSS, + }; + +enum TAknsSrcScreenMode + { + EAknsSrcScrModeNone = 0, + EAknsSrvScrModePortrait = 1, + EAknsSrvScrModeLandscape = 2, + EAknsSrvScrModeSquare = 3 + }; + +/** +* Skin server panic category string. +* +* @since 2.0 +*/ +_LIT( KAknSkinSrvPanicCategory, "AknSkinServer" ); + +/** +* Enumeration of skin item definition classes. +* +* @since 2.0 +*/ +enum TAknsItemDefClass + { + /** + * Skin item definition class enumeration value for bitmaps, + * including layout backgrounds but excluding application icons. + */ + EAknsItemDefClassBitmaps = 1, + + /** + * Skin item definition class enumeration value for application icons. + */ + EAknsItemDefClassAppIcons = 2, + + /** + * Skin item definition class enumeration value for color sets. + */ + EAknsItemDefClassColorSets = 4 + }; + +/** +* Skin package change reason codes used by +* @c MAknsSkinChangeObserver::SkinPackageChanged +* +* @since 2.5 +*/ +enum TAknsSkinStatusPackageChangeReason + { + /** + * Enumeration value that indicates change in skin package list. + * + * @since 2.5 + */ + EAknsSkinStatusPackageListUpdate = 1 + }; + +/** +* Skin configuration change reason codes used by +* @c MAknsSkinChangeObserver::SkinConfigurationChanged +* +* @since 2.5 +*/ +enum TAknsSkinStatusConfigurationChangeReason + { + /** + * Enumeration value that indicates completion of skin content merge, + * i.e. the new configuration is available for reading. + * + * @since 2.5 + */ + EAknsSkinStatusConfigurationMerged = 1, + + /** + * Enumeration value that indicates completion of event propagation + * to clients, i.e. the new configuration has been deployed to + * the registered clients. + * + * @since 2.5 + */ + EAknsSkinStatusConfigurationDeployed = 2, + + /** + * Enumeration value that indicates unsuccessful completion of + * skin activation because of an out-of-memory condition. + * + * @since 2.5 + */ + EAknsSkinStatusConfigurationFailedOOM = 3, + + /** + * Enumeration value that indicates unsuccessful completion of + * skin activation because of a corrupted skin package. + * + * @since 2.5 + */ + EAknsSkinStatusConfigurationFailedCorrupt = 4, + /** + * Enumeration value that indicates a change in the + * state of the morphing skin items + * + * @since 3.0 + */ + EAknsSkinStatusMorphingStateChange = 5, + EAknsSkinStatusWallpaperChanged = 6, + + /** + * Enumeration value that indicates a change in the + * state of animation Background + * + * @since 5.2 + */ + EAknsSkinStatusAnimBackgroundChanged = 7, + + EAknsSkinStatusSlideSetWallpaperChanged = 8 + + }; + +// CONSTANTS + +_LIT( KAknsSrvRAMBitmapName, "RAM:BmpHandle"); + +// CLASS DECLARATION + +/** +* An user implementable interface class to handle the skin change +* notifications. +* +* @since 2.0 +*/ +class MAknsSkinChangeObserver + { + public: + + /** + * Called by the skin server when skin content is changed and the + * connected client wants to be informed. + * + * @since 2.0 + */ + virtual void SkinContentChanged() = 0; + + /** + * Called by the skin server to indicate that the current skin + * configuration has changed. + * + * @param aReason Reason code. + * + * @since 2.5 + */ + virtual void SkinConfigurationChanged( + const TAknsSkinStatusConfigurationChangeReason aReason ) = 0; + + /** + * Called by the skin server to indicate that the available + * skin packages have changed. + * + * @param aReason Reason code. + * + * @since 2.5 + */ + virtual void SkinPackageChanged( + const TAknsSkinStatusPackageChangeReason aReason ) = 0; + + /** + * Called by the skin server to ask for local cache cleanup. + * + * @since 3.1 + * + */ + virtual void FlushLocalCaches() {}; + }; + +// FORWARD DECLARATIONS + +class CAknsSkinChangeHandler; +struct TAknsSrvClientMemberData; + +// CLASS DECLARATION + +/** +* The client side interface class for the skins server +* Provides functionality to change the system skin, to retrieve skin content +* definitions from the server and to listen for skin change events. +* +* @lib AknSkinSrv.lib +* +* @since 2.0 +*/ +class RAknsSrvSession : public RSessionBase + { + public: + + /** + * C++ default constructor. + */ + IMPORT_C RAknsSrvSession(); + + /** + * Starts the server if it's not allready started and creates a new + * session. + * + * @since 2.0 + * + * @param aObserver Skin change observer. + * @param aPriority Observer priority. + * + * @return KErrNone if connection was succesfull, or otherwise one of + * the standard system wide error codes. + */ + IMPORT_C TInt Connect( MAknsSkinChangeObserver* aObserver = NULL, + TInt aPriority = CActive::EPriorityStandard ); + + /** + * Closes the session. + * + * @since 2.0 + * + */ + IMPORT_C void Close(); //lint !e1511 Hiding allowed + + /** + * Enables the servers skin change notifications mechanism. If the skin + * definitions have changed, or there are pending notification events, + * SkinContentChanged() is called for all sessions. + * The function affects all sessions. + * + * @since 2.0 + * + */ + IMPORT_C void EnableSkinChangeNotify(); + + + /** + * Disables the servers skin change notification mechanism. After this + * call no notification events are generated until a subsequent + * EnableSkinChangeNotify() is called. The function affects all sessions. + * + * @since 2.0 + * + */ + IMPORT_C void DisableSkinChangeNotify(); + + /** + * Notifies the server that the skin client has encountered an error + * while doing a skin change. After this call the server falls back to + * the system default skin and ignores any calls to this funcion to + * avoid infite loop. + * + * @since 2.0 + * + * @param aErrorCode Error code. + */ + IMPORT_C void ClientError(TInt aErrorCode = 0); + + /** + * Sets all the active item definition sets (including all the classes). + * Item definition sets of the skin with the given package ID are + * activated and clients are notified about the skin change. + * + * @since 2.0 + * + * @param aPID Package ID of the skin to be activated. + * + * @return KErrNone if succesfull or one of the system wide error codes. + */ + IMPORT_C TInt SetAllDefinitionSets( const TAknsPkgID aPID ); + + /** + * Retrieves skin information for all the available skins packages + * in specified location. After a call to this function, the ownewship + * of the array and the items in it is transferred to the caller. + * + * @since 2.0 + * + * @param aLocation the location from where to look for the skin + * packages. Default value is phone (i.e., c and z drives). + * + * @return A pointer to an array containing pointers to + * CAknsSrvSkinInformationPkg instances, or an empty array if no skin + * packages were found in the specified location. If the same skin + * was found multiple times, only the first match is included in the + * array. + * + * @par Exceptions: + * If enumeration failed, method leaves with an error code. + */ + IMPORT_C CArrayPtr* + EnumerateSkinPackagesL( + TAknSkinSrvSkinPackageLocation aLocation = EAknsSrvPhone ); + + /** + * Creates a chunk lookup object. + * + * @since 2.0 + * + * @return Newly created chunk lookup object. + * + * @par Exceptions: + * If construction fails, method leaves with an error code. + */ + IMPORT_C CAknsSrvChunkLookup* CreateChunkLookupL(); + + /** + * Sets the idle state wallpaper. + * + * @since 2.0 + * + * @param aFilename a fully qualified path(incl. path + filename) + * to the mbm file containing the wallpaper + * @param aIndex the index of the bitmap in the mbm file + * @param aMaskIndex the index of the mask bitmap in the mbm file + * + * @return If the call fails, one of the system wide error codes is + * returned. + */ + IMPORT_C TInt SetIdleWallpaper(const TDesC& aFilename); + + /** + * Stores a duplicate of the given bitmap (optionally with mask). + * + * @param aIID Item ID used as a key. + * + * @param aType Layout type used as a key. + * + * @param aBmp Pointer to a bitmap. Must be non-NULL. No ownership + * is transferred. + * + * @param aMask Pointer to a mask, or @c NULL. No ownership is + * transferred. + * + * @since 2.8 + */ + IMPORT_C TInt StoreScalableGraphics(const TAknsItemID& aIID, + const TInt aType, const TSize& aLayoutSize, const CFbsBitmap* aBmp, + const CFbsBitmap* aMask, TBool aMorphing = EFalse ); + + /** + * Instructs the server to cleanup any stored layout bitmaps. + * + * @return Error code. + * + * @since 2.8 + */ + IMPORT_C TInt ClearScalableGraphics(); + + /** + * Acknowledges the skin change notification. + * + * @return Error code. + * + * @since 2.7 + */ + TInt AcknowledgeSkinChangeNotification(); + + IMPORT_C TInt DeleteSkin(const TAknsPkgID aPID, TAknSkinSrvSkinPackageLocation aLocation ); + IMPORT_C TInt CopySkin(const TAknsPkgID aPID, TAknSkinSrvSkinPackageLocation aSourceLocation, TAknSkinSrvSkinPackageLocation aDestLocation); + IMPORT_C TInt OpenBitmapFile( const TDesC& aFilename, TInt &aFileHandle); + IMPORT_C TInt OpenInifile(const TAknsPkgID aPID, TAknSkinSrvSkinPackageLocation aLocation, TInt& aFilehandle, TBool aWriteToFile); + IMPORT_C TInt CopySoundFile(const TDesC& aSourceFilename, const TDesC& aTargetFilename); + IMPORT_C void DecodeWallpaperImageL(const TDesC& aFilename, const TSize& aTargetSize, CFbsBitmap*& aBitmap, CFbsBitmap*& aMask); + IMPORT_C TInt OpenImageInifile(TAknsSrvInifileType aType, TInt& aFilehandle); + IMPORT_C TInt SetSlideSetWallpaper(const CDesCArray& aFilenameArray); +#if defined(RD_SLIDESHOW_WALLPAPER) + void DoWriteInifileL(const CDesCArray& aFilenameArray); +#endif + IMPORT_C void FreeUnnecessaryLayoutBitmaps(TAknsSrcScreenMode aMode); + + /* + * Checks if AppArc has been configured using CenRep for this application UID. If so, skinned icon graphics are NOT + * created when calling AknsUtils::CreateAppIconLC. Instead, configured icon (which is defined in the + * AppArc's CenRep file) is used. Note that icon configuration can wary depending on active language. + * + * @since 5.0 + * + * @param aAppUid - Application UID of application to be checked. + * @return zero, if no cenrep-based configuration is used. + * Non-zero is returned, if application UID is configured using AppArc's CenRep file. + */ + IMPORT_C TInt CheckIconConfiguration( TUid aAppUid ); + + /** + * Add one wallpaper. + * + * @param aFilename a fully qualified path(incl. path + filename) + * of the wallpaper + * @param aTargetSize - Decoded size. + * if not set, Both portait and landscape(base on screen size) will be decoded. + */ + IMPORT_C void AddWallpaperL( const TDesC& aFilename, const TSize& aTargetSize ); + + /** + * Remove one decoded wallpaper. + * + * @param aFilename a fully qualified path(incl. path + filename) + * of the wallpaper + */ + IMPORT_C void RemoveWallpaper( const TDesC& aFilename ); + + /** + * Remove all decoded wallpaper. + */ + IMPORT_C void RemoveAllWallpapers( ); + + /** + * Get a decoded wallpaper. + */ + IMPORT_C CFbsBitmap* WallpaperImageL( const TDesC& aFilename ); + + private: // Reserved exports + + /** + * Reserved for future use. + * + * @since 2.0 + * + * @return Always returns zero. + */ + IMPORT_C TInt Reserved1(); + + /** + * Reserved for future use. + * + * @since 2.0 + * + * @return Always returns zero. + */ + IMPORT_C TInt Reserved2(); + + /** + * Reserved for future use. + * + * @since 2.0 + * + * @return Always returns zero. + */ + IMPORT_C TInt Reserved3(); + + /** + * Reserved for future use. + * + * @since 2.0 + */ + IMPORT_C void Reserved4(); + + private: + + /** + * Gets the server version. + */ + TVersion Version() const; + + /** + * Cancels send operation. + */ + void SendCancel(); + + /** + * Completes event handling. + */ + void EventHandled(); + + private: // Data + + // Holds member variables of this class. + TAknsSrvClientMemberData* iMemberData; + + private: // Friend classes + friend class CAknsSkinChangeHandler; + + }; + +#endif // AKNSSRVCLIENT_H + +// End of File diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/AknsSrvSkinInformationPkg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/AknsSrvSkinInformationPkg.h Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,336 @@ +/* +* Copyright (c) 2003 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: Defines constant values for Avkon Skins. +* +*/ + + +#ifndef AKNSSRVSKININFORMATIONPKG_H +#define AKNSSRVSKININFORMATIONPKG_H + +//INCLUDE FILES + +#include + +#include + +// CONSTANTS + +/** +* Enumeration for the skin package locations. +* +* @since 2.0 +* +*/ +enum TAknSkinSrvSkinPackageLocation + { + /** + * Location enum value for phone (drives C:\ and Z:\) + */ + EAknsSrvPhone = 0, + + /** + * Location enum value for MMC (E:\) + */ + EAknsSrvMMC = 2, + + /** + * Location enum value for all drives available.(d:\ ie. RAM disk excluded) + */ + EAknsSrvAll = 4 + }; + +/** +* Enumeration for the skin protection type. +* +* @since 2.6 +* +*/ +enum TAknsSkinSrvSkinProtectionType + { + /** + * The skin is not DRM protected + */ + EAknsSrvNoProtection, + + /** + * The skin is DRM protected + */ + EAknsSrvProtected, + + /** + * The rights object for has no rights for the skin + */ + EAknsSrvNoRights, + + /** + * The rights object for the skin is count based, + * and should not be allowed to activated or + * edited. + * §qtn_drm_prev_rights_set§ should be displayed. + */ + EAknsSrvCountBased, + + /** + * The rights object is valid in the future, + * should not be allowed to be actived or + * edited. + * §qtn_drm_prev_rights_set§ should be displayed. + */ + EAknsSrvFutureRights, + + /** + * The rights object has bee expired + * §qtn_drm_mgr_det_exp§ from drmcommon should be displayed + */ + EAknsSrvExpiredRights + }; + +// CLASS DECLARATIONS + +struct TAknsSrvSkinInfoPkg +{ + public: + TAknsPkgID iPID; // Package ID of the skin + TAknsPkgID iColorSchemePID; // Package ID of the color scheme in the skin + TFileName iSkinDirectoryBuf; // The directory of the skin package + TFileName iSkinIniFileDirectoryBuf; // The directory containing the skin ini file + TFileName iSkinNameBuf; // The name of the skin package. + TFileName iIdleStateWallPaperImageName; // The name of the idle state wallpaper mbm file. + TFileName iFullName; // The fully qualified skn-file name + TBool iIsCopyable; // Boolean value specifying if the skin package copyable + TBool iIsDeletable; // Boolean value specifying if the skin package is deletable + TInt iIdleBgImageIndex; // The index of the idle state background image + TAknsSkinSrvSkinProtectionType iProtectionType; // Specifies the DRM protection type in this skin + TBool iCorrupted; // Specifies if the skin is somehow corrupted + TBool iSupportAnimBg; // Specifies if the skin support animated background +}; + +/** +* A storage class containing skin information. +* +* @since 2.0 +* +**/ +NONSHARABLE_CLASS(CAknsSrvSkinInformationPkg) : public CBase + { + public: // Construction and destruction + + static CAknsSrvSkinInformationPkg* NewL( + const TAknsPkgID aPID, const TAknsPkgID aColorSchemePID, + const TDesC& aDirectory, const TDesC& aInifileDir, + const TDesC& aSkinName, + const TDesC& aIdleStateMbmFilename, + const TDesC& aPinboardWallPaperMbmFilename, + const TDesC& aFullName, + const TInt aIdleBgImageIndex, + const TInt aPinboardBgImageIndex, + const TBool aDeletable, + const TBool aCopyable, + const TBool aHasIconset, + const TAknsSkinSrvSkinProtectionType aProtectionType, + const TBool aCorrupted, + const TBool aSupportAnimBg); + + virtual ~CAknsSrvSkinInformationPkg(); + + public: // New methods + + /** + * Gets the package ID of the skin + * + * @since 2.0 + * + * @return The package ID of the skin + */ + IMPORT_C TAknsPkgID PID() const; + + /** + * Gets the skin package directory + * + * @since 2.0 + * + * @return The skin package directory + */ + IMPORT_C TDesC& Directory() const; + + /** + * Gets the skin package ini file directory + * + * @since 2.0 + * + * @return The skin package ini file directory + */ + IMPORT_C TDesC& IniFileDirectory() const; + + /** + * Gets the skin name. May or may not be empty. + * + * @since 2.0 + * + * @return The skin name, may also be empty + */ + IMPORT_C TDesC& Name() const; + + /** + * Gets the skin idle state wallpaper mbm file name. May or may not be empty. + * The filename is fully qualified (incl. full file path) + * + * @since 2.0 + * + * @return The mbm filename of the skin wallpaper, may also be empty + */ + IMPORT_C TDesC& IdleStateWallPaperImageFileName() const; + + /** + * Gets the skin pinboard wallpaper mbm file name. May or may not be empty. + * The filename is fully qualified (incl. full file path) + * + * @since 2.0 + * + * @return The mbm filename of the pinboard wallpaper, may also be empty + */ + IMPORT_C TDesC& PinboarWallPaperImageFileName() const; + + /** + * Gets the idle state background image index. + * + * @since 2.0 + * + * @return The idle state background image index. + */ + IMPORT_C TInt IdleStateWallPaperImageIndex() const; + + /** + * Gets the pinboard background image index. + * + * @since 2.0 + * + * @return The pinboard background image index. + */ + IMPORT_C TInt PinboardWallPaperImageIndex() const; + + /** + * Indicates if the skin package is deletable. + * + * @since 2.0 + * + * @return ETrue if the skin is deletable, EFalse otherwise. + */ + IMPORT_C TBool IsDeletable() const; + + /** + * Indicates if the skin package is copyable. + * + * @since 2.0 + * + * @return ETrue if the skin is deletable, EFalse otherwise. + */ + IMPORT_C TBool IsCopyable() const; + + /** + * Returns the color scheme package ID for this skin. + * + * @since 2.0 + * + * @return Package ID value of the color scheme associated with this + * skin, or @c KAknsNullPkgID if this skin has no preference over + * color schemes. + * + */ + IMPORT_C TAknsPkgID ColorSchemePID() const; + + /** + * Indicates whether the skin has an iconset. + * + * @since 2.0 + * + * @return ETrue if the skin has an iconset, EFalse otherwise. + */ + IMPORT_C TBool HasIconset() const; + + /** + * Gets the protection type for this skin + * + * @since 2.6 + * + * @return The protection type for this skin. + */ + IMPORT_C TAknsSkinSrvSkinProtectionType ProtectionType() const; + + /** + * Indicates whether the skin is corrupted. + * + * @since 2.6 + * + * @return ETrue if the skin is corrupted, EFalse otherwise. + */ + IMPORT_C TBool IsCorrupted() const; + + /** + * Get the fully qualified skin skn-filename (incl. full path). + * + * @since 2.6 + * + * @return The fully qualified skn-file name. + */ + IMPORT_C TDesC& FullName() const; + + /** + * Indicates whether the skin support animation background. + * + * @since 5.2 + * + * @return The fully qualified skn-file name. + */ + IMPORT_C TBool IsSupportAnimBg() const; + + protected: + CAknsSrvSkinInformationPkg( + const TAknsPkgID aPID, const TAknsPkgID aColorSchemePID, + const TBool aDeletable, const TBool aCopyable, + const TInt aIdleBgImageIndex, + const TInt aPinboardBgImageIndex, const TBool aHasIconset, + const TAknsSkinSrvSkinProtectionType aProtectionType, + const TBool aCorrupted, + const TBool aSupportAnimBg); + + void ConstructL( + const TDesC& aDirectory, const TDesC& aInifileDir, + const TDesC& aSkinName, const TDesC& aIdleStateMbmFilename, + const TDesC& aPinboardWallPaperMbmFilename, + const TDesC& aFullName); + + private: + TAknsPkgID iPID; // Package ID of the skin + TAknsPkgID iColorSchemePID; // Package ID of the color scheme in the skin + HBufC* iSkinDirectoryBuf; // The directory of the skin package + HBufC* iSkinIniFileDirectoryBuf; // The directory containing the skin ini file + HBufC* iSkinNameBuf; // The name of the skin package. + HBufC* iIdleStateWallPaperImageName; // The name of the idle state wallpaper mbm file. + HBufC* iPinboardWallPaperImageName; // The name of the pinboard wallpaper mbm file + HBufC* iFullName; // The fully qualified skn-file name + TBool iIsCopyable; // Boolean value specifying if the skin package copyable + TBool iIsDeletable; // Boolean value specifying if the skin package is deletable + TInt iIdleBgImageIndex; // The index of the idle state background image + TInt iPinboardBgImageIndex; // The index of the pinboard backgound image + TBool iHasIconset; // Boolean value indicating whether this skin has an iconset + TAknsSkinSrvSkinProtectionType iProtectionType; // Specifies the DRM protection type in this skin + TBool iCorrupted; // Specifies if the skin is somehow corrupted + TBool iSupportAnimBg; // Specifies if the skin support Animated background + }; + +#endif AKNSSRVSKININFORMATIONPKG_H // AknsSrvSkinInformationPkg.h + +// End of file diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/extended_skin_api/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/extended_skin_api/bld.inf Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,8 @@ +PRJ_EXPORTS +AknsItemDef.h AknsItemDef.h +AknsSrvClient.h AknsSrvClient.h +AknsSrvSkinInformationPkg.h AknsSrvSkinInformationPkg.h +AknsSrvChunkLookup.h AknsSrvChunkLookup.h +AknsEffectAnim.h AknsEffectAnim.h +AknsPkgID.h AknsPkgID.h +AknsPkgID.inl AknsPkgID.inl diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/hs_content_control_ui/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/hs_content_control_ui/bld.inf Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,2 @@ +PRJ_EXPORTS +hscontentcontrolui.h hscontentcontrolui.h \ No newline at end of file diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/hs_content_control_ui/hscontentcontrolui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/hs_content_control_ui/hscontentcontrolui.h Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,226 @@ +/* + * Copyright (c) 2008 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: + * + */ + +#ifndef HSCONTENTCONTROLUI_H +#define HSCONTENTCONTROLUI_H + +// System includes +#include +#include + +// Forward declarations +class MHsContentController; +class CAknView; + +/** + * Content control UI interface + * + * + * @code + * + * @endcode + * + * @lib hscontentcontrol.lib + * @since S60 v5.0 + */ +class MHsContentControlUi + { +public: + /** + * + */ + virtual void Activate() = 0; + + /** + * + */ + virtual void DeActivate() = 0; + + /** + * + */ + virtual void Views( RPointerArray& aViews ) = 0; + + /** + * + */ + virtual void NotifyWidgetListChanged() = 0; + + /** + * + */ + virtual void NotifyViewListChanged() = 0; + + /** + * + */ + virtual void NotifyAppListChanged() = 0; + + /** + * + */ + virtual void SetContentController( MHsContentController* aController ) = 0; + }; + +/** + * Content control UI base class + * + * + * @code + * + * @endcode + * + * @lib hscontentcontrol.lib + * @since S60 v5.0 + */ +class CHsContentControlUi : public CBase, public MHsContentControlUi + { +public: + /** + * Two-phased constructor. + * @param aImplUid Requested implementation UID + */ + IMPORT_C static CHsContentControlUi* NewL( + TUid aImplUid ); + + /** + * Destructor. + */ + inline ~CHsContentControlUi(); + +public: // From MHsContentControlUi + /** + * + */ + inline void Activate(); + + /** + * + */ + inline void DeActivate(); + + /** + * + */ + inline void Views( RPointerArray& aViews ); + + /** + * + */ + inline void NotifyWidgetListChanged(); + + /** + * + */ + inline void NotifyViewListChanged(); + + /** + * + */ + inline void NotifyAppListChanged(); + + /** + * + */ + void SetContentController( + MHsContentController* aController ); + + +public: // New functions + + /** + * + */ + TUid ImplUid() const; + + /** + * + */ + void SetContentControlTypeL( + const TDesC8& aContentControlType ); + + /** + * + */ + const TDesC8& ContentControlType() const; + +protected: // Data + + /** + * + */ + MHsContentController* iHsContentController; + +private: // Data + + /** + * + */ + TUid iDestructKey; + + /** + * + */ + TUid iImplUid; + + /** + * + */ + HBufC8* iContentControlType; + + }; + +inline CHsContentControlUi::~CHsContentControlUi() + { + delete iContentControlType; + REComSession::DestroyedImplementation( iDestructKey ); + } + +inline void CHsContentControlUi::Activate() + { + // Default implementation of MHsContentControlUi method + } +inline void CHsContentControlUi::DeActivate() + { + // Default implementation of MHsContentControlUi method + } +inline void CHsContentControlUi::Views( + RPointerArray& /*aViews*/ ) + { + // Default implementation of MHsContentControlUi method + } +inline void CHsContentControlUi::NotifyWidgetListChanged() + { + // Default implementation of MHsContentControlUi method + } +inline void CHsContentControlUi::NotifyViewListChanged() + { + // Default implementation of MHsContentControlUi method + } +inline void CHsContentControlUi::NotifyAppListChanged() + { + // Default implementation of MHsContentControlUi method + } + +inline void CHsContentControlUi::SetContentController( + MHsContentController* aController ) + { + iHsContentController = aController; + } + +#endif // HSCONTENTCONTROLUI_H +// End of file diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/.cproject --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/mifconv/.cproject Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/.project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/mifconv/.project Thu Apr 01 14:50:19 2010 +0100 @@ -0,0 +1,19 @@ + + + mifconv + + + + + + com.nokia.carbide.cdt.builder.carbideCPPBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + com.nokia.carbide.cdt.builder.carbideCPPBuilderNature + + diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/group/mifconv.mmp --- a/dependencies/mifconv/group/mifconv.mmp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* -* Copyright (c) 2009 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: project definition file -* -*/ - -#include - -TARGET mifconv.exe -TARGETTYPE exe - -USERINCLUDE ../inc -MW_LAYER_SYSTEMINCLUDE -SOURCEPATH ../src - -SOURCE mifconv.cpp -SOURCE mifconv_argument.cpp -SOURCE mifconv_argumentmanager.cpp -SOURCE mifconv_bitmapconverter.cpp -SOURCE mifconv_bitmapheaderconverter.cpp -SOURCE mifconv_convertermanager.cpp -SOURCE mifconv_exception.cpp -SOURCE mifconv_iconbinaryconverter.cpp -SOURCE mifconv_mifconverter.cpp -SOURCE mifconv_sourcefile.cpp -SOURCE mifconv_util.cpp - diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv.cpp --- a/dependencies/mifconv/src/mifconv.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv main. -* -*/ - - -#include "mifconv.h" -#include "mifconv_exception.h" -#include "mifconv_argumentmanager.h" -#include "mifconv_convertermanager.h" -#include "mifconv_util.h" - -int main( int argc, char *argv[] ) -{ - cout << endl << "Mifconv v" << MifConvVersion << " - " << MifConvDate << endl; - // Instantiate the argument manager and mif creator: - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - MifConvConverterManager* converterMgr = MifConvConverterManager::Instance(); - - try { - // Read arguments to string vector: - MifConvStringList strList; - for( int i = 1; i < argc; ++i ) - { - strList.push_back(MifConvString(argv[i])); - } - - // Initialize arguments: - argMgr->Init(strList); - - // Initialize converters: - converterMgr->Init(); - - // Run converters for source files: - converterMgr->ProcessIcons(); - - // Cleanup temp files etc: - converterMgr->Cleanup(); - } - catch( MifConvException& e ) { - // In case of error, print exception to stderr, cleanup temp files and exit: - std::stringstream strForInt; - strForInt << e.Line(); - - MifConvUtil::DebugLog(e.File() + MifConvString(":") + strForInt.str() + MifConvString(":") + e.String()); - cerr << e.String() << endl; - converterMgr->Cleanup(true); - converterMgr->Reset(); - argMgr->Reset(); - exit(MIFCONV_ERROR); - } - catch(...) - { - // Unknown error: - MifConvUtil::DebugLog("MifConv: Unknown error"); - cerr << "MifConv: Unknown error" << endl; - converterMgr->Cleanup(true); - converterMgr->Reset(); - argMgr->Reset(); - exit(MIFCONV_ERROR); - } - - converterMgr->Reset(); - argMgr->Reset(); - return MIFCONV_NO_ERROR; -} diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_argument.cpp --- a/dependencies/mifconv/src/mifconv_argument.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv tool argument definitions. -* -*/ - - -#include "mifconv.h" -#include "mifconv_argument.h" diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_argumentmanager.cpp --- a/dependencies/mifconv/src/mifconv_argumentmanager.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,991 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv argument manager class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_argumentmanager.h" -#include "mifconv_exception.h" -#include "mifconv_util.h" - -// Static singleton initialization -MifConvArgumentManager* MifConvArgumentManager::iInstance = 0; - -/** - * Returns pointer to the singleton object - */ -MifConvArgumentManager* MifConvArgumentManager::Instance() -{ - if( iInstance == 0 ) - { - iInstance = new MifConvArgumentManager(); - } - return iInstance; -} - -/** - * Free the allocated memory - */ -void MifConvArgumentManager::Reset() -{ - delete iInstance; - iInstance = 0; -} - -/** - * - */ -inline void MifConvArgumentManager::THROW_USAGE_EXCEPTION() const -{ - MifConvString usageStr; - SetUsageString(usageStr); - throw MifConvException(usageStr, MifConvString(__FILE__), __LINE__); -} - -inline void MifConvArgumentManager::THROW_ERROR( const MifConvString& errorMsg, const MifConvString& file, int line ) const -{ - throw MifConvException( MifConvString("ERROR: " + errorMsg + "\nType mifconv -? for help\n"), file, line); -} - -/** - * - */ -MifConvArgumentManager::MifConvArgumentManager() -: -iEpocRoot(DEFAULT_EPOCROOT) -{ - GetMifEnv(); -} - -/** - * - */ -MifConvArgumentManager::~MifConvArgumentManager() -{} - -/** - * This function checks if the given argument is boolean type of argument. - * Boolean type arguments are listed in a MifConvBooleanArguments table - * and this function checks if the given string matches any of those. Returns the length - * of the argument name if found, zero otherwise. - */ -size_t MifConvArgumentManager::IsBooleanArgument( const MifConvString& argName ) const -{ - if( IsArgument(argName) ) - { - try { - int tblSize = sizeof(MifConvBooleanArguments) / sizeof(MifConvString); - for( int i = 0; i < tblSize; ++i ) - { - size_t tmpLen = MifConvBooleanArguments[i].length(); - if( argName.length() > tmpLen ) - { - if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin() + 1 + tmpLen), MifConvBooleanArguments[i]) == 0 ) - { - return tmpLen; - } - } - } - } - catch(...) - { - THROW_USAGE_EXCEPTION(); - } - } - return 0; -} - -/** - * This function checks if the given argument is a help argument. - * Help arguments are listed in a MifConvHelpArguments table - * and this function checks if the given string matches any of those. Returns the length - * of the argument name if found, zero otherwise. - */ -size_t MifConvArgumentManager::IsHelpArgument( const MifConvString& argName ) const -{ - if( IsArgument(argName) ) - { - try { - int tblSize = sizeof(MifConvHelpArguments) / sizeof(MifConvString); - for( int i = 0; i < tblSize; ++i ) - { - size_t tmpLen = MifConvHelpArguments[i].length(); - - // Following check separates -H from -Hheadername.mbg parameter: - if( argName.length() == tmpLen+1 ) - { - if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin() + 1 + tmpLen), MifConvHelpArguments[i]) == 0 ) - { - return tmpLen; - } - } - } - } - catch(...) - { - THROW_USAGE_EXCEPTION(); - } - } - return 0; -} - -/** - * This function checks if the given argument is string type of argument. - * String type arguments are listed in a MifConvStringArguments table - * and this function checks if the given string matches any of those. Returns the length - * of the argument name if found, zero otherwise. - */ -size_t MifConvArgumentManager::IsStringArgument( const MifConvString& argName ) const -{ - if( IsArgument(argName) ) - { - try { - int tblSize = sizeof(MifConvStringArguments) / sizeof(MifConvString); - for( int i = 0; i < tblSize; ++i ) - { - size_t tmpLen = MifConvStringArguments[i].length(); - if( argName.length() > tmpLen ) - { - if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin()+1+tmpLen), MifConvStringArguments[i]) == 0 ) - { - return tmpLen; - } - } - } - } - catch(...) - { - THROW_USAGE_EXCEPTION(); - } - } - return 0; -} - -/** - * This function checks if the given argument is string list type of argument. - * String list type arguments are listed in a MifConvStringListArguments table - * and this function checks if the given string matches any of those. Returns the length - * of the argument name if found, zero otherwise. - */ -size_t MifConvArgumentManager::IsStringListArgument( const MifConvString& argName ) const -{ - if( IsArgument(argName) ) - { - try { - int tblSize = sizeof(MifConvStringListArguments) / sizeof(MifConvString); - for( int i = 0; i < tblSize; ++i ) - { - size_t tmpLen = MifConvStringListArguments[i].length(); - if( argName.length() > tmpLen ) - { - if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin()+1+tmpLen), MifConvStringListArguments[i]) == 0 ) - { - return tmpLen; - } - } - } - } - catch(...) - { - THROW_USAGE_EXCEPTION(); - } - } - return 0; -} - -/** - * - */ -bool MifConvArgumentManager::IsDepthArgument( const MifConvString& argName ) const -{ - if( IsArgument(argName) ) - { - try { - int tblSize = sizeof(MifConvDepthArguments) / sizeof(MifConvString); - for( int i = 0; i < tblSize; ++i ) - { - size_t tmpLen = MifConvDepthArguments[i].length(); - if( argName.length() > tmpLen ) - { - MifConvString trimmedArgument(argName.begin()+1, argName.begin() + 1 + tmpLen); - if( MifConvUtil::CompareIgnoreCase(trimmedArgument, MifConvDepthArguments[i]) == 0 ) - { - return true; - } - } - } - } - catch(...) - { - THROW_USAGE_EXCEPTION(); - } - } - return false; -} - -/** - * - */ -bool MifConvArgumentManager::IsAnimatedFlag( const MifConvString& argName ) const -{ - return IsArgument( argName ) && argName.length() > MifConvAnimatedIconArg.length() && - MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.end() ), MifConvAnimatedIconArg ) == 0; -} - -/** - * - */ -void MifConvArgumentManager::SetTargetFile( const MifConvString& arg ) -{ - iTargetFile = arg; -} - -/** - * - */ -const MifConvString& MifConvArgumentManager::TargetFile() const -{ - return iTargetFile; -} - -/** - * - */ -IconDisplayMode MifConvArgumentManager::ConvertToDisplayMode(IconDepth depth) const -{ - MifConvIconDisplayModeMap::const_iterator i = iDisplayModeMap.find(depth); - if( i != iDisplayModeMap.end() ) - return i->second; - - return DisplayMode_None; -} - -/** - * - */ -IconDisplayMode MifConvArgumentManager::ConvertToMaskDisplayMode(IconMaskDepth depth) const -{ - MifConvMaskIconDisplayModeMap::const_iterator i = iMaskDisplayModeMap.find(depth); - if( i != iMaskDisplayModeMap.end() ) - return i->second; - - return DisplayMode_None; -} - -/** - * - */ -IconDepth MifConvArgumentManager::ConvertToDepth( const MifConvString& depthStr ) const -{ - MifConvIconDepthMap::const_iterator i = iDepthMap.find(depthStr); - if( i != iDepthMap.end() ) - return i->second; - - return IconDepth_Undefined; -} -/** - * - */ -IconMaskDepth MifConvArgumentManager::ConvertToMaskDepth( const MifConvString depthStr ) const -{ - MifConvIconMaskDepthMap::const_iterator i = iMaskDepthMap.find(depthStr); - if( i != iMaskDepthMap.end() ) - return i->second; - - return IconMaskDepth_Undefined; -} - -/** - * - */ -void MifConvArgumentManager::Init( const MifConvStringList& argList ) -{ - // Build maps for mapping depth, mask and displaymode constants: - PopulateDepthAndMaskMaps(); - // Allocate search paths where to search source files: - MifConvString epocRoot(EpocRoot()); - - // Global icons folder can contain only .svg files: - iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH), vector(1, SVG_FILE_EXTENSION))); - // Global bitmaps folder can contain only .bmp files: - iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_BITMAPS_PATH), vector(1, BMP_FILE_EXTENSION))); - // EPOCROOT, if given in environment variables: - if( epocRoot.length() > 0 ) - { - iSearchRules.push_back(MifConvSourceSearchRule(epocRoot+EPOC32_PATH, vector(1, MIFCONV_WILDCARD))); - } - - AddArguments(argList); - - // check if the parameter file is given: - const MifConvString& paramFilename = StringValue(MifConvParameterFileArg); - if( paramFilename.length() > 0 ) - { - // Add arguments from the parameter file: - MifConvStringList paramListFromFile; - ReadParameterFile( paramFilename, paramListFromFile ); - if( paramListFromFile.size() > 0 ) - { - AddArguments(paramListFromFile, true); - } - } - // Resolve file type extensions using given flags and investigating the existing files: - FinalizeArguments(); -} - -/** - * Read string argument value: - */ -MifConvString MifConvArgumentManager::ReadStringArgument(const MifConvStringList& argList, MifConvStringList::const_iterator& i, unsigned int argNameLen) -{ - // Take the actual argument value, for example /TmyTempDir --> myTempDir - MifConvString argValue((*i).begin() + argNameLen, (*i).end()); - if( argValue.length() > 0 ) - { - // String arguments can have spaces when they are enclosed with " marks (For example directory names). - if( argValue[0] == '\"' ) - { - MifConvString quotedArgValue(argValue); - // Check if the last char is also ": - if( quotedArgValue[ quotedArgValue.length()-1 ] == '\"' ) - { - return quotedArgValue; - } - - // See if the next string ends with \" mark, for example "My Folder" is presented with following argument list: - // argList[0] = "My - // argList[1] = Folder" - while(++i != argList.end()) - { - MifConvString nextString((*i).begin(), (*i).end()); - quotedArgValue += " " + nextString; - if( nextString[ nextString.length()-1 ] == '\"' ) - { - return "\"" + quotedArgValue + "\""; - } - } - } - } - return argValue; -} - -/** - * Read string argument value: - */ -void MifConvArgumentManager::ReadStringListArgument(MifConvStringList::const_iterator& i, unsigned int argNameLen, MifConvStringList& StringValueList) -{ - // Take the actual argument value, for example /imyInputDir;myTempDir --> myTempDir - MifConvString argValue((*i).begin() + argNameLen, (*i).end()); - MifConvUtil::SplitString( argValue, STRING_LIST_ARGUMENT_SEPARATOR, StringValueList ); -} - -/** - * - */ -void MifConvArgumentManager::AddArguments( const MifConvStringList& argList, bool paramsFromFile ) -{ - MifConvStringList::const_iterator i = argList.begin(); - - if( i == argList.end() ) - { - THROW_ERROR("No arguments", MifConvString(__FILE__), __LINE__); - } - - // Check if help is needed: - while( i != argList.end() ) - { - if( IsHelpArgument(*i) ) - { - THROW_USAGE_EXCEPTION(); - } - ++i; - } - - i = argList.begin(); - - while( i != argList.end() ) - { - unsigned int argLen = 0; - if( i == argList.begin() && paramsFromFile == false ) - { - // First command line argument must be the target file. - // If the given list (argList) is read from the file, then - // the first one is not target file. - if( !IsArgument(*i) ) - { - MifConvString targetFile(ReadStringArgument( argList, i, 0 )); - // Make sure that the file extension is .mif: - targetFile = MifConvUtil::FilenameWithoutExtension(targetFile); - targetFile += MifConvString(FILE_EXTENSION_SEPARATOR) + MifConvString(MIF_FILE_EXTENSION); - SetTargetFile(targetFile); - } - else - { - THROW_ERROR( "Target file must be given as first argument.", MifConvString(__FILE__), __LINE__ ); - } - ++i; - if( i == argList.end() ) - { - THROW_ERROR("Missing arguments", MifConvString(__FILE__), __LINE__); - } - } - else if( IsBooleanArgument(*i) ) - { - // Insert boolean type argument to the boolean arguments list: - MifConvString argName((*i).begin()+1, (*i).end()); - MifConvUtil::ToLower(argName); // Lower the cases to make comparison easier later - std::pair res = iBooleanArguments.insert(std::make_pair( - argName, MifConvBooleanArgument( argName, true ))); - if( res.second == false ) - { - // parameter already exists in the map, update the value: - res.first->second = MifConvBooleanArgument( argName, true ); - } - ++i; - } - else if( (argLen = (unsigned int) IsStringArgument(*i) ) > 0 ) - { - MifConvString argName((*i).begin()+1, (*i).begin() + 1 + argLen); - MifConvUtil::ToLower(argName); // Lower the cases to make comparison easier later - MifConvString argValue(ReadStringArgument( argList, i, argLen+1 )); - if( argValue.length() == 0 ) - { - // Do not accept string arguments with zero length (E.g. "/H") - THROW_ERROR( "Missing argument value for " + *i, MifConvString(__FILE__), __LINE__ ); - } - // Insert string type argument to the string arguments list: - std::pair res = iStringArguments.insert(std::make_pair( - argName, MifConvStringArgument( argName, argValue ))); - if( res.second == false ) - { - // parameter already exists in the map, update the value: - res.first->second = MifConvStringArgument( argName, argValue ); - } - ++i; - } - else if( (argLen = (unsigned int) IsStringListArgument(*i)) > 0 ) - { - MifConvString argName((*i).begin()+1, (*i).begin() + 1 + argLen); - MifConvUtil::ToLower(argName); // Lower the cases to make comparison easier later - MifConvStringList argValue; - ReadStringListArgument( i, argLen+1, argValue ); - - if( argValue.size() == 0 ) - { - // Do not accept string arguments with zero length (E.g. "/H") - THROW_ERROR( "Missing argument value for " + *i, MifConvString(__FILE__), __LINE__ ); - } - // Insert string list type argument to the string arguments list: - std::pair res = iStringListArguments.insert(std::make_pair( - argName, MifConvStringListArgument( argName, argValue ))); - if( res.second == false ) - { - // parameter already exists in the map, update the value: - res.first->second = MifConvStringListArgument( argName, argValue ); - } - ++i; - } - else if( IsDepthArgument(*i) ) - { - // Let's build source file argument... - // ... first is depth and mask: - MifConvString depthAndMask(*i); - MifConvUtil::ToLower(depthAndMask); // Lower the cases to make comparison easier later - ++i; - // Check that there is still an argument: - if( i == argList.end() ) - { - THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ ); - } - - // Then we check if animated flag is given next: - bool isAnimated = IsAnimatedFlag(*i); - - if( isAnimated ) - { - // This was an animated flag, so next must be filename: - ++i; - // Check that there is still an argument: - if( i == argList.end() ) - { - THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ ); - //THROW_USAGE_EXCEPTION(); - } - } - - // One more check... Check that the next string is not an argument (starting with '-' or '/') - // It should be a filename for the source icon. - if( IsArgument(*i) ) - { - THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ ); - } - - MifConvSourceFile srcFile; - srcFile.SetDepthAndMask(depthAndMask); - srcFile.SetDisplayMode(ConvertToDisplayMode(srcFile.Depth())); - srcFile.SetMaskDisplayMode(ConvertToMaskDisplayMode(srcFile.MaskDepth())); - srcFile.SetFilename(ReadStringArgument( argList, i, 0 )); - srcFile.SetAnimated(isAnimated); - iSourceFiles.push_back(srcFile); - ++i; - } - else if( IsAnimatedFlag(*i) ) - { - // Icon animated flag found - // Let's see if the next is depth argument: - ++i; - MifConvString depthAndMask; - if( IsDepthArgument(*i) ) - { - depthAndMask = *i; - MifConvUtil::ToLower(depthAndMask); - ++i; - } - - // One more check... Check that the next string is not an argument (starting with '-' or '/') - if( IsArgument(*i) ) - { - THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ ); - } - - MifConvSourceFile srcFile; - srcFile.SetDepthAndMask(depthAndMask); - srcFile.SetDisplayMode(ConvertToDisplayMode(srcFile.Depth())); - srcFile.SetMaskDisplayMode(ConvertToMaskDisplayMode(srcFile.MaskDepth())); - srcFile.SetFilename(*i); - srcFile.SetAnimated(true); - iSourceFiles.push_back(srcFile); - ++i; - } - else - { - THROW_ERROR( "Invalid argument: " + *i, MifConvString(__FILE__), __LINE__ ); - } - } -} - -/** - * Resolves correct type for the source file. Sets also mask filenames for bmp-files: - */ -void MifConvArgumentManager::ResolveSourceFileTypes() -{ - bool extensionFlag = BooleanValue(MifConvUseExtensionArg); - - // check if the input directory is given: - const MifConvStringList& inputDirList = StringListValue(MifConvIconSourceDirectory); - - // Add user-defined input directory to search directory list, put MIFCONV_WILDCARD - // as filetype rule, because user defined directory can contain all supported filetypes: - int indexcounter = 0; - for( MifConvStringList::const_iterator iDir = inputDirList.begin(); iDir != inputDirList.end(); ++iDir ) - { - MifConvSourceSearchRule customRule(*iDir, MifConvStringList(1, MIFCONV_WILDCARD)); - MifConvUtil::ReplaceChar(customRule.SearchPath(), INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2); - MifConvUtil::RemoveDuplicateDirSeparators(customRule.SearchPath()); - iSearchRules.insert(iSearchRules.begin()+indexcounter, customRule); - - ++indexcounter; - } - - for( MifConvSourceFileList::iterator src = iSourceFiles.begin(); src != iSourceFiles.end(); ++ src ) - { - if( extensionFlag ) - { - MifConvString extension = MifConvUtil::FileExtension(src->Filename()); - if( !FindAndSetPathAndType( *src, extension ) ) - { - THROW_ERROR_COMMON("File not found " + src->Filename(), MifConvString(__FILE__), __LINE__ ); - } - } - else - { - // "Use extension" -flag not given, so resolve extensions for source files - if( !FindAndSetPathAndType( *src, SVGB_BINARY_FILE_EXTENSION ) ) - { - if( !FindAndSetPathAndType( *src, SVG_FILE_EXTENSION ) ) - { - if( !FindAndSetPathAndType( *src, BMP_FILE_EXTENSION ) ) - { - THROW_ERROR_COMMON("File not found " + src->Filename(), MifConvString(__FILE__), __LINE__ ); - } - } - } - } - } -} - -/** - * - */ -void MifConvArgumentManager::GetMifEnv() -{ - // Read EPOCROOT environment variable - char* tmpPtr = 0; - tmpPtr = getenv(EPOCROOT_ENV.c_str()); - if( tmpPtr ) - { - iEpocRoot = MifConvString(tmpPtr); - MifConvUtil::ReplaceChar(iEpocRoot, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2); - // Make sure that the last char is directory separator - if( iEpocRoot.length() > 0 && iEpocRoot.at( iEpocRoot.length()-1) != DIR_SEPARATOR2 ) - { - iEpocRoot += DIR_SEPARATOR; - } - } -} - -/** - * - */ -const MifConvString& MifConvArgumentManager::EpocRoot() const -{ - return iEpocRoot; -} - -/** - * - */ -bool MifConvArgumentManager::FindAndSetPathAndType( MifConvSourceFile& srcFile, const MifConvString& extension ) -{ - // Search the filename first "as is": - MifConvString tmp( MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension ); - if( MifConvUtil::FileExists(tmp) ) - { - srcFile.SetFilename(tmp); - MifConvUtil::FindAndSetBitmapMaskFile(srcFile); - return true; - } - - // If the absolute path was given, return false, because the file was not found with given path and filename. - // Otherwise continue searching. - if( //(srcFile.Filename().length() > 0 && srcFile.Filename().at(0) == DIR_SEPARATOR2) || - (srcFile.Filename().length() > 1 && srcFile.Filename().at(1) == ':') ) - { - return false; - } - - // Search from the pre-defined locations: - for( SearchRules::iterator i = iSearchRules.begin(); i != iSearchRules.end(); ++i ) - { - bool validPath = false; - const MifConvStringList& allowedTypes = i->AllowedFileTypes(); - - // See if the file with given extension is allowed to locate in search path. - // For example, epoc32\s60\icons folder can contain only .svg files and epoc32\s60\bitmaps - // can contain only .bmp files: - for( MifConvStringList::const_iterator typeIter = allowedTypes.begin(); typeIter != allowedTypes.end(); ++typeIter ) - { - if( *typeIter == MIFCONV_WILDCARD || *typeIter == extension ) - { - validPath = true; - break; - } - } - - if( validPath ) - { - MifConvString searchPath(i->SearchPath()); - - // Make sure that the last char is directory separator - if( searchPath.length() > 0 && searchPath.at( searchPath.length()-1) != DIR_SEPARATOR2 ) - { - searchPath += DIR_SEPARATOR; - } - - searchPath += MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension; - - MifConvUtil::RemoveDuplicateDirSeparators(searchPath); - - if( MifConvUtil::FileExists( searchPath ) ) - { - srcFile.SetFilename(searchPath); - MifConvUtil::FindAndSetBitmapMaskFile(srcFile); - return true; - } - } - } - return false; -} - -/** - * - */ -void MifConvArgumentManager::ProcessArgumentPaths() -{ - // Fix directory separators first: - for( StringArgMap::iterator i = iStringArguments.begin(); i != iStringArguments.end(); ++i ) - { - MifConvString tmp = i->second.Value(); - MifConvUtil::ReplaceChar(tmp, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2); - MifConvUtil::RemoveDuplicateDirSeparators(tmp); - i->second.SetValue(tmp); - } - - // Fix directory separators in source filenames also: - for( MifConvSourceFileList::iterator j = iSourceFiles.begin(); j != iSourceFiles.end(); ++j ) - { - MifConvString tmp = j->Filename(); - MifConvUtil::ReplaceChar(tmp, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2); - MifConvUtil::RemoveDuplicateDirSeparators(tmp); - j->SetFilename(tmp); - } - - // Fix directory separators in search rule directories also: - for( SearchRules::iterator k = iSearchRules.begin(); k != iSearchRules.end(); ++k ) - { - MifConvString& tmp = k->SearchPath(); - MifConvUtil::ReplaceChar(tmp, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2); - MifConvUtil::RemoveDuplicateDirSeparators(tmp); - } - - // Fix target file also: - MifConvUtil::ReplaceChar(iTargetFile, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2); - MifConvUtil::RemoveDuplicateDirSeparators(iTargetFile); -} - -/** - * - */ -void MifConvArgumentManager::FinalizeArguments() -{ - ProcessArgumentPaths(); - ResolveSourceFileTypes(); -} - -/** - * - */ -void MifConvArgumentManager::SetUsageString( MifConvString& usageStr ) const -{ - usageStr = ""; - - usageStr += "Copyright (c) " + MifConvYears + " Nokia Corporation and/or its subsidiary(-ies). All rights reserved.\n"; - usageStr += "\n"; - usageStr += "Usage: mifconv [-F] ]\n"; - usageStr += "\n"; - usageStr += "Where:\n"; - usageStr += " MIFFILE Specifies the target MIF file to be created\n"; - usageStr += " -F Specifies a parameter file, which can contain any of the options\n"; - usageStr += " and sources separated by spaces or newlines\n"; - usageStr += "\n"; - usageStr += "Options:\n"; - usageStr += " -H Specifies a name of the MIF header file (default extension MBG)\n"; - usageStr += " -I Specifies a set of custom source directories where source files\n"; - usageStr += " will be searched. As a fallback, global source directories are\n"; - usageStr += " used\n"; - usageStr += " -E Specifies that source icons are only loaded with given file\n"; - usageStr += " extensions. By default, Mifconv prefers source icons with\n"; - usageStr += " extension .SVG over .BMP, regardless of which is given as\n"; - usageStr += " a parameter\n"; - usageStr += " -X Disables SVG compression. If this flag is set, SVG icons are\n"; - usageStr += " added to MIF file without compressing them first\n"; - usageStr += " -P Specifies a path to custom palette file for bitmap files\n"; - usageStr += " -T Specifies a path where temporary files are created\n"; - usageStr += " -B Specifies a path for non-default BMConv utility\n"; - usageStr += " -S Specifies a path for non-default SVGTBinenCode utility\n"; - usageStr += " -V Specifies a non-platform default format version of SVGT binary\n"; - usageStr += " conversion. It can be any of the following value:\n"; - usageStr += " 1 BGR / float encoding\n"; - usageStr += " 2 BGR / fixed point encoding\n"; - usageStr += " 3 RGB / fixed point encoding\n"; - usageStr += " 4 RGB / float encoding\n"; - usageStr += "Sources:\n"; - usageStr += " [-A] [ [-A] ... ]\n"; - usageStr += " [-A] Specifies animated flag for the icon\n"; - usageStr += " [DEPTH] Specifies icon depth, it can be any of these values\n"; - usageStr += " -1,-2,-4,-8,-c4,-c8,-c12,-c16,-c24,-c32\n"; - usageStr += " [MASK] Specifies icon mask depth, it can be any of these values\n"; - usageStr += " 1,8\n"; - usageStr += " [FILE] Specifies path to the input file, supported file extensions are\n"; - usageStr += " SVG, SVGB, BMP\n"; - usageStr += "\n"; - usageStr += "Other info:\n"; -#ifdef WIN32 - usageStr += " * '-' or '/' can be used as parameter switch prefix\n"; -#endif - usageStr += " * Value of icon mask and depth is meaningful only for bitmap files, but the mask\n"; - usageStr += " value defines if mask entry will be available or not in the header file\n"; - usageStr += " * If mask parameter is defined for a BMP file, Mifconv automatically pics\n"; - usageStr += " a file ending _mask_soft for value 8 and _mask for value 1 of mask\n"; - usageStr += "\n"; - usageStr += "Examples:\n"; - usageStr += " mifconv mybuttons.mif -Hmybuttons.mbg -c8,8 button1 -c8,8 button2\n"; -} - -/** - * - */ -const MifConvString& MifConvArgumentManager::StringValue( const MifConvString& argName ) const -{ - StringArgMap::const_iterator i = iStringArguments.find(argName); - if( i != iStringArguments.end() ) - { - return i->second.Value(); - } - - return iDummyString; -} - -/** - * - */ -const MifConvStringList& MifConvArgumentManager::StringListValue( const MifConvString& argName ) const -{ - StringListArgMap::const_iterator i = iStringListArguments.find(argName); - if( i != iStringListArguments.end() ) - { - return i->second.Value(); - } - - return iDummyStringList; -} - -/** - * - */ -bool MifConvArgumentManager::BooleanValue( const MifConvString& argName ) const -{ - BooleanArgMap::const_iterator i = iBooleanArguments.find(argName); - if( i != iBooleanArguments.end() ) - { - return i->second.Value(); - } - - return false; -} - -/** - * - */ -const MifConvSourceFileList& MifConvArgumentManager::SourceFiles() const -{ - return iSourceFiles; -} - -/** - * - */ -bool MifConvArgumentManager::IsArgument( const MifConvString& str ) const -{ - try { - return str.at(0) == OPTION_PREFIX1_CHAR || str.at(0) == OPTION_PREFIX2_CHAR; - } - catch(...) - { - THROW_ERROR("Zero or corrupted string in MifConvArgumentManager::IsArgument()\n", MifConvString(__FILE__), __LINE__); - } - return false; -} - -/** - * - */ -void MifConvArgumentManager::PopulateDepthAndMaskMaps() -{ - // Insert value-string pairs for the icon depths: - iDepthMap.insert(std::make_pair(MifConvDepth_1, IconDepth_1)); - iDepthMap.insert(std::make_pair(MifConvDepth_2, IconDepth_2)); - iDepthMap.insert(std::make_pair(MifConvDepth_4, IconDepth_4)); - iDepthMap.insert(std::make_pair(MifConvDepth_8, IconDepth_8)); - iDepthMap.insert(std::make_pair(MifConvDepth_c4, IconDepth_c4)); - iDepthMap.insert(std::make_pair(MifConvDepth_c8, IconDepth_c8)); - iDepthMap.insert(std::make_pair(MifConvDepth_c12, IconDepth_c12)); - iDepthMap.insert(std::make_pair(MifConvDepth_c16, IconDepth_c16)); - iDepthMap.insert(std::make_pair(MifConvDepth_c24, IconDepth_c24)); - iDepthMap.insert(std::make_pair(MifConvDepth_c32, IconDepth_c32)); - - // Insert value-string pairs for the icon masks: - iMaskDepthMap.insert(std::make_pair(MifConvMaskDepth_1, IconMaskDepth_1)); - iMaskDepthMap.insert(std::make_pair(MifConvMaskDepth_8, IconMaskDepth_8)); - - // Insert value-pairs for display modes: - iDisplayModeMap.insert(std::make_pair(IconDepth_1, DisplayMode_Gray2)); - iDisplayModeMap.insert(std::make_pair(IconDepth_2, DisplayMode_Gray4)); - iDisplayModeMap.insert(std::make_pair(IconDepth_4, DisplayMode_Gray16)); - iDisplayModeMap.insert(std::make_pair(IconDepth_8, DisplayMode_Gray256)); - iDisplayModeMap.insert(std::make_pair(IconDepth_c4, DisplayMode_Color16)); - iDisplayModeMap.insert(std::make_pair(IconDepth_c8, DisplayMode_Color256)); - iDisplayModeMap.insert(std::make_pair(IconDepth_c12, DisplayMode_Color4K)); - iDisplayModeMap.insert(std::make_pair(IconDepth_c16, DisplayMode_Color64K)); - iDisplayModeMap.insert(std::make_pair(IconDepth_c24, DisplayMode_Color16M)); - iDisplayModeMap.insert(std::make_pair(IconDepth_c32, DisplayMode_Color16MU)); - - iMaskDisplayModeMap.insert(std::make_pair(IconMaskDepth_1, DisplayMode_Gray2)); - iMaskDisplayModeMap.insert(std::make_pair(IconMaskDepth_8, DisplayMode_Gray256)); -} - -/** - * - */ -void MifConvArgumentManager::ReadParameterFile(const MifConvString& paramFilename, MifConvStringList& paramList) -{ - // Check if the file exists: - if( MifConvUtil::FileExists(paramFilename) == false ) - { - THROW_ERROR_COMMON("Unable to open file for reading! " + paramFilename, MifConvString(__FILE__), __LINE__ ); - } - - MifConvFileData paramFileData = MifConvUtil::FileContents(paramFilename); - - MifConvString tmpString; - for(size_t i = 0; i < paramFileData.second; ++i ) - { - if( MifConvUtil::IsWhiteSpace(paramFileData.first[i]) == false ) - { - tmpString += paramFileData.first[i]; - } - else if( tmpString.length() > 0 ) - { - paramList.push_back( tmpString ); - tmpString = MifConvString(); - } - } - - if( tmpString.length() > 0 ) - { - paramList.push_back( tmpString ); - tmpString = MifConvString(); - } - delete[] paramFileData.first; -} - -/** - * Helper class for source search rules - */ - -MifConvSourceSearchRule::MifConvSourceSearchRule(const MifConvString& path, const MifConvStringList& types) -: -iSearchPath(path), -iAllowedFileTypes(types) -{} - -MifConvSourceSearchRule::~MifConvSourceSearchRule() -{} - -const MifConvString& MifConvSourceSearchRule::SearchPath() const -{ - return iSearchPath; -} - -MifConvString& MifConvSourceSearchRule::SearchPath() -{ - return iSearchPath; -} - -const MifConvStringList& MifConvSourceSearchRule::AllowedFileTypes() const -{ - return iAllowedFileTypes; -} diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_bitmapconverter.cpp --- a/dependencies/mifconv/src/mifconv_bitmapconverter.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,277 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv bitmap converters class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_bitmapconverter.h" -#include "mifconv_util.h" -#include "mifconv_exception.h" -#include "mifconv_argumentmanager.h" -#include - -const MifConvString BMCONV_DEFAULT_PATH(EPOC_TOOLS_PATH); - -/** - * - */ -MifConvBitmapConverter::MifConvBitmapConverter() -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - // Output file: - iTargetFilename = MifConvUtil::FilenameWithoutExtension(argMgr->TargetFile()) + "." + MifConvString(MBM_FILE_EXTENSION); -} - -/** - * - */ -MifConvBitmapConverter::~MifConvBitmapConverter() -{ -} - -/** - * - */ -void MifConvBitmapConverter::Init() -{ - CleanupTargetFiles(); -} - -/** - * - */ -void MifConvBitmapConverter::CleanupTargetFiles() -{ - if( MifConvUtil::FileExists(iTargetFilename) ) - { - // Try to remove file MIFCONV_MAX_REMOVE_TRIES times, no exception in case of failure: - MifConvUtil::RemoveFile(iTargetFilename, MIFCONV_MAX_REMOVE_TRIES, true); - } -} - -/** - * - */ -void MifConvBitmapConverter::AppendFile( const MifConvSourceFile& sourcefile ) -{ - if( MifConvUtil::FileExtension( sourcefile.Filename() ) == BMP_FILE_EXTENSION ) - { - iSourceFiles.push_back( sourcefile ); - } -} - -/** - * - */ -void MifConvBitmapConverter::Convert() -{ - if( iSourceFiles.size() > 0 ) - { - ConvertToMbm(); - } -} - -/** - * - */ -void MifConvBitmapConverter::Cleanup(bool err) -{ - CleanupTempFiles(); - if( err ) - { - CleanupTargetFiles(); - } -} - -/** - * - */ -void MifConvBitmapConverter::ConvertToMbm() -{ - RunBmconv(); -} - -/** - * - */ -void MifConvBitmapConverter::InitTempFile() -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - // Construct temp file name - iTempDir = MifConvUtil::DefaultTempDirectory(); - const MifConvString& tempDirArg = argMgr->StringValue(MifConvTempPathArg); - if( tempDirArg.length() > 0 ) - { - iTempDir = tempDirArg; - } - - if( iTempDir.length() > 0 && iTempDir.at(iTempDir.length()-1) != DIR_SEPARATOR2 ) - { - iTempDir.append(DIR_SEPARATOR); - } - - // Generate new temp-filename: - iTempDir.append(MifConvUtil::TemporaryFilename()); - - // append tmp at as postfix - // this is needed because the generated name can contain a single period '.' - // character as the last character which is eaten away when the directory created. - iTempDir.append(MifConvString("tmp")); - - MifConvUtil::EnsurePathExists(iTempDir); - - iTempDir.append(DIR_SEPARATOR); - - iTempFilename = iTempDir + MifConvUtil::FilenameWithoutExtension(MifConvUtil::FilenameWithoutPath(argMgr->TargetFile())); - iTempFilename += BMCONV_TEMP_FILE_POSTFIX; - - // Create temp file - fstream tempFile(iTempFilename.c_str(), ios::out|ios::binary|ios::trunc); - if (!tempFile.is_open()) - { - throw MifConvException(MifConvString("Unable to create tmp file! ") + iTempFilename); - } - - try { - // quiet mode - tempFile << BMCONV_OPTION_PREFIX << BMCONV_QUIET_PARAMETER << " "; - // Palette argument - const MifConvString& paletteArg = argMgr->StringValue(MifConvPaletteFileArg); - if( paletteArg.length() > 0 ) - { - tempFile << BMCONV_OPTION_PREFIX << BMCONV_PALETTE_PARAMETER; - tempFile << MifConvString(paletteArg + " "); - } - - tempFile << iTargetFilename << " "; - // Add filenames to the temp file - for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i ) - { - AppendBmpToTempFile(tempFile, *i); - } - } - catch(...) { - tempFile.close(); - throw; - } - - tempFile.close(); -} - -/** - * - */ -void MifConvBitmapConverter::RunBmconv() -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - // Create and initialize the temp file: - InitTempFile(); - - // Build bmconv command - MifConvString bmconvCommand("\""); // Open " mark - - const MifConvString& bmconvPath = argMgr->StringValue(MifConvBmconvPathArg); - const MifConvString& defaultBmconvPath = GetDefaultBmConvPath(); - if( bmconvPath.length() > 0 ) - { - bmconvCommand += bmconvPath; // If the path is given, use it. - } - else - { - bmconvCommand += defaultBmconvPath; // Use default path - } - - // Ensure that the last char of the path is dir-separator: - if( bmconvCommand.length() > 1 && bmconvCommand.at(bmconvCommand.length()-1) != DIR_SEPARATOR2 ) - bmconvCommand += DIR_SEPARATOR; - - // Then add bmconv executable call and close the " mark - bmconvCommand += BMCONV_EXECUTABLE_NAME + MifConvString("\" "); - bmconvCommand += "\"" + iTempFilename + "\""; - - MifConvUtil::EnsurePathExists(iTargetFilename, true); - - cout << "Writing mbm: " << iTargetFilename << endl; - int err = 0; - -#ifdef __linux__ - if ((err = system (MifConvString(bmconvCommand).c_str())) != 0) // Returns 0 if success -#else - if ((err = system (MifConvString("\""+bmconvCommand+"\"").c_str())) != 0) // Returns 0 if success -#endif - { - THROW_ERROR_COMMON("Executing BMCONV failed", MifConvString(__FILE__), __LINE__); - } -} - -/** - * - */ -void MifConvBitmapConverter::CleanupTempFiles() -{ - if( iTempFilename.length() > 0 && remove( iTempFilename.c_str() ) != 0 ) - { - perror( "Error deleting temporary file (bitmap conversion)" ); - } - - if( iTempDir.length() > 0 && MifConvUtil::RemoveDirectory( iTempDir ) != 0 ) - { - perror( "Error deleting temporary directory (bitmap conversion)" ); - } -} - -/** - * - */ -const MifConvString& MifConvBitmapConverter::GetDefaultBmConvPath() -{ - if( iDefaultBmConvPath.length() == 0 ) - { - // Check if the EPOCROOT is given - MifConvString epocRoot(MifConvArgumentManager::Instance()->EpocRoot()); - if( epocRoot.length() > 0 ) - { - // EPOCROOT environment variable defined. - iDefaultBmConvPath = epocRoot + BMCONV_DEFAULT_PATH; - } - } - - return iDefaultBmConvPath; -} - -/** - * - */ -void MifConvBitmapConverter::AppendBmpToTempFile(fstream& aStream, const MifConvSourceFile& bmpFile) - { - cout << "Loading file: " << bmpFile.Filename() << endl; - - aStream << BMCONV_OPTION_PREFIX; - aStream << bmpFile.DepthString(); - aStream << bmpFile.Filename(); - aStream << " "; - - // Prepare also for the case that mask is not used at all. - const MifConvString& maskName = bmpFile.BmpMaskFilename(); - if (maskName.length() > 0 ) - { - cout << "Loading file: " << maskName << endl; - aStream << BMCONV_OPTION_PREFIX; - aStream << bmpFile.MaskDepthString(); - aStream << maskName; - } - aStream << " "; - } diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_bitmapheaderconverter.cpp --- a/dependencies/mifconv/src/mifconv_bitmapheaderconverter.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv bitmap header converter class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_bitmapheaderconverter.h" -#include "mifconv_argumentmanager.h" -#include "mifconv_util.h" -#include "mifconv_exception.h" - -const int MIF_ID_FIRST = 16384; - -/** - * - */ -MifConvBitmapHeaderConverter::MifConvBitmapHeaderConverter() -: -iCurrentSourceId(MIF_ID_FIRST) -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - iHeaderFilename = argMgr->StringValue(MifConvHeaderArg); -} - -/** - * - */ -MifConvBitmapHeaderConverter::~MifConvBitmapHeaderConverter() -{ -} - -/** - * - */ -void MifConvBitmapHeaderConverter::Init() -{ - CleanupTargetFiles(); -} - -/** - * - */ -void MifConvBitmapHeaderConverter::CleanupTargetFiles() -{ - if( MifConvUtil::FileExists(iHeaderFilename) ) - { - // Try to remove file MIFCONV_MAX_REMOVE_TRIES times, no exception in case of failure: - MifConvUtil::RemoveFile(iHeaderFilename, MIFCONV_MAX_REMOVE_TRIES, true); - } -} - -/** - * - */ -void MifConvBitmapHeaderConverter::AppendFile( const MifConvSourceFile& sourcefile ) -{ - iSourceFiles.push_back( sourcefile ); -} - -/** - * - */ -void MifConvBitmapHeaderConverter::Convert() -{ - // Check if the headerfile name is given. Return if not: - if( iHeaderFilename.length() > 0 ) - { - cout << "Writing mbg: " << iHeaderFilename << endl; - MifConvUtil::EnsurePathExists(iHeaderFilename, true); - } - else - { - return; - } - - // Create / open the header file: - fstream headerFile(iHeaderFilename.c_str(), ios::out|ios::trunc); - - // If file creation/opening was not successful, give warning and return: - if( !headerFile.is_open() ) - { - MifConvString debugStr("WARNING: Headerfile " + iHeaderFilename + " cannot be opened for writing."); - cout << debugStr << endl; - MifConvUtil::DebugLog(debugStr); - return; - } - iDestFile = &headerFile; // Save the pointer to the file stream - (*iDestFile) << endl; - // Write the beginning of the header file: - WriteStart(); - - // Add source file items to enumerator: - for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i ) - { - WriteItemToHeader(*i); - } - - // Write the end of the file... - WriteEnd(); - - // ...and close the file: - iDestFile->close(); -} - -/** - * - */ -void MifConvBitmapHeaderConverter::WriteStart() -{ - (*iDestFile) << "/* This file has been generated, DO NOT MODIFY. */" << endl; - (*iDestFile) << "enum TMif" << MifConvUtil::UnadornedFilename(iHeaderFilename) << "\n\t{" << endl; -} - -/** - * - */ -void MifConvBitmapHeaderConverter::WriteItemToHeader( const MifConvSourceFile& source ) -{ - MifConvString unadornedHeaderFile(MifConvUtil::UnadornedFilename(iHeaderFilename)); - - (*iDestFile) << "\tEMbm" << unadornedHeaderFile << MifConvUtil::UnadornedFilename(source.Filename()) << " = " << iCurrentSourceId++ << "," << endl; - - // Write mask also, if any: - if( source.MaskDepth() != IconMaskDepth_Undefined ) - { - (*iDestFile) << "\tEMbm" << unadornedHeaderFile << MifConvUtil::UnadornedFilename(source.Filename()) << "_mask = " << iCurrentSourceId++ << "," << endl; - } - else - { - // Skip mask ID if mask not present so that adding a mask later does not change IDs. - iCurrentSourceId++; - } -} - -/** - * - */ -void MifConvBitmapHeaderConverter::WriteEnd() -{ - (*iDestFile) << "\tEMbm" << MifConvUtil::UnadornedFilename(iHeaderFilename) << "LastElement" << endl; - (*iDestFile) << "\t};" << endl; -} - -/** - * - */ -void MifConvBitmapHeaderConverter::Cleanup(bool err) -{ - if( err ) - { - CleanupTargetFiles(); - } -} diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_convertermanager.cpp --- a/dependencies/mifconv/src/mifconv_convertermanager.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv converter manager class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_convertermanager.h" -#include "mifconv_argumentmanager.h" -#include "mifconv_util.h" -#include "mifconv_bitmapconverter.h" -#include "mifconv_bitmapheaderconverter.h" -#include "mifconv_iconbinaryconverter.h" -#include "mifconv_mifconverter.h" - -// Static singleton initialization -MifConvConverterManager* MifConvConverterManager::iInstance = 0; - -/** - * Returns pointer to the singleton object - */ -MifConvConverterManager* MifConvConverterManager::Instance() -{ - if( iInstance == 0 ) - { - iInstance = new MifConvConverterManager(); - } - return iInstance; -} - -/** - * Free the allocated memory - */ -void MifConvConverterManager::Reset() -{ - delete iInstance; - iInstance = 0; -} - -/** - * Constructor - */ -MifConvConverterManager::MifConvConverterManager() -{ - -} - -/** - * - */ -void MifConvConverterManager::Init() -{ - // Add bmp --> mbm converter: - MifConvBitmapConverter* bitmapConverter = new MifConvBitmapConverter(); - iAllConverters.push_back(bitmapConverter); - - // Add headerfile (mbg) converter: - MifConvBitmapHeaderConverter* headerConverter = new MifConvBitmapHeaderConverter(); - iAllConverters.push_back(headerConverter); - - // Add svg --> svgb converter: - MifConvIconBinaryConverter* svgConverter = new MifConvIconBinaryConverter(); - iAllConverters.push_back(svgConverter); - - // Add mif converter: - MifConvMifConverter* mifConverter = new MifConvMifConverter(); - iAllConverters.push_back(mifConverter); - - // Add file converters for .BMP files: - MifConvFileConverterList bmpConverters; - bmpConverters.push_back(bitmapConverter); - bmpConverters.push_back(headerConverter); - bmpConverters.push_back(mifConverter); - iFileConverters.insert(std::make_pair(MifConvString(BMP_FILE_EXTENSION), bmpConverters)); - - // Add file converters for .SVG files: - MifConvFileConverterList svgConverters; - svgConverters.push_back(headerConverter); - svgConverters.push_back(svgConverter); - if( MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) ) - { - // SVG files will be added to mif-file without compression (i.e. don't use svgtbinencode for them). - svgConverters.push_back(mifConverter); - } - iFileConverters.insert(std::make_pair(MifConvString(SVG_FILE_EXTENSION), svgConverters)); - - // Add file converters for .SVGB files: - MifConvFileConverterList svgbConverters; - svgbConverters.push_back(headerConverter); - if( !MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) ) - { - // SVG files will be compressed first. - svgbConverters.push_back(mifConverter); - } - iFileConverters.insert(std::make_pair(MifConvString(SVGB_BINARY_FILE_EXTENSION), svgbConverters)); - - // Initialize converters - for( MifConvFileConverterList::iterator i = iAllConverters.begin(); i != iAllConverters.end(); ++i ) - { - (*i)->Init(); - } -} - -/** - * Destructor - */ -MifConvConverterManager::~MifConvConverterManager() -{ - for( MifConvFileConverterList::iterator conv = iAllConverters.begin(); conv != iAllConverters.end(); ++conv ) - { - delete *conv; - } -} - -/** - * Adds source files to converters and converts them - */ -void MifConvConverterManager::ProcessIcons() -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - // Loop all the source files and append them to correct converters: - const MifConvSourceFileList& sourcefiles = argMgr->SourceFiles(); - for( MifConvSourceFileList::const_iterator i = sourcefiles.begin(); i != sourcefiles.end(); ++i ) - { - MifConvFileConverterList& converters = GetConverters(*i); - for( MifConvFileConverterList::iterator converter = converters.begin(); converter != converters.end(); ++converter ) - { - (*converter)->AppendFile(*i); - } - } - - // Run all the converters: - for( MifConvFileConverterList::iterator conv = iAllConverters.begin(); conv != iAllConverters.end(); ++conv ) - { - (*conv)->Convert(); - } -} - -/** - * - */ -void MifConvConverterManager::Cleanup(bool error) -{ - for( MifConvFileConverterList::iterator conv = iAllConverters.begin(); conv != iAllConverters.end(); ++conv ) - { - try { - (*conv)->Cleanup(error); - } - catch(...) { - // Exception should not be thrown if cleaning after error situation - if( !error ) - throw; - } - } -} - -/** - * - */ -MifConvFileConverterList& MifConvConverterManager::GetConverters(const MifConvSourceFile& source) -{ - return GetConverters(source.Filename()); -} - -/** - * - */ -MifConvFileConverterList& MifConvConverterManager::GetConverters(const MifConvString& filename) -{ - MifConvString extension(MifConvUtil::FileExtension(filename)); - FileConverterMap::iterator i = iFileConverters.find(extension); - if( i != iFileConverters.end() ) - { - return i->second; - } - - return iDummyConverterList; -} diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_exception.cpp --- a/dependencies/mifconv/src/mifconv_exception.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv exception class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_exception.h" - -MifConvException::MifConvException() -: -iLine(0) -{} - -MifConvException::MifConvException(const MifConvString& str, const MifConvString& file, int line) -: -iString(str), -iFile(file), -iLine(line) -{} - -MifConvException::MifConvException(const MifConvException& rhs) -: -iString(rhs.iString), -iFile(rhs.iFile), -iLine(rhs.iLine) -{} - -MifConvException::~MifConvException() -{} - -void MifConvException::SetString(const MifConvString& str) -{ - iString = str; -} -const MifConvString& MifConvException::String() const -{ - return iString; -} - -MifConvString& MifConvException::String() -{ - return iString; -} - -void MifConvException::SetFile(const MifConvString& file) -{ - iFile = file; -} - -const MifConvString& MifConvException::File() const -{ - return iFile; -} - -void MifConvException::SetLine(int line) -{ - iLine = line; -} - -int MifConvException::Line() const -{ - return iLine; -} diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_iconbinaryconverter.cpp --- a/dependencies/mifconv/src/mifconv_iconbinaryconverter.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,302 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv icon binary converters class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_iconbinaryconverter.h" -#include "mifconv_util.h" -#include "mifconv_exception.h" -#include "mifconv_convertermanager.h" -#include "mifconv_argumentmanager.h" -#include -#include - -const MifConvString SVGTBINENCODE_DEFAULT_PATH(EPOC_TOOLS_PATH); - -/** - * - */ -MifConvIconBinaryConverter::MifConvIconBinaryConverter() -{ -} - -/** - * - */ -MifConvIconBinaryConverter::~MifConvIconBinaryConverter() -{ -} - -/** - * - */ -void MifConvIconBinaryConverter::Init() -{ -} - -/** - * - */ -void MifConvIconBinaryConverter::CleanupTargetFiles() -{ -} - -/** - * - */ -void MifConvIconBinaryConverter::AppendFile( const MifConvSourceFile& sourcefile ) -{ - if( MifConvUtil::FileExtension( sourcefile.Filename() ) == SVG_FILE_EXTENSION && - MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) == false) - { - iSourceFiles.push_back( sourcefile ); - - // Create temp directory: - if( iTempDir.length() == 0 ) - { - InitTempFile(); - } - - // External SVGTBINENCODE converts .svg files to .svgb files. However, .svgb files - // shall be given to mif-converter to get them in mif-file: - - // Create new string for .svgb file name: - MifConvString tmpFile(sourcefile.Filename()); - ConvertToBinaryFilename(tmpFile); - MifConvString tempBinFilename(iTempDir + MifConvUtil::FilenameWithoutExtension(tmpFile) + "." + SVGB_BINARY_FILE_EXTENSION); - - // Get converters for .svgb files: - MifConvFileConverterList& additionalConverters = MifConvConverterManager::Instance()->GetConverters(tempBinFilename); - - // Converters for .svg files: - MifConvFileConverterList& thisFilesConverters = MifConvConverterManager::Instance()->GetConverters( sourcefile.Filename() ); - - // Save temporary binary filename for later deleting: - iTempFilenames.push_back(tempBinFilename); - - // Add temporary file to converters: - for( MifConvFileConverterList::iterator c = additionalConverters.begin(); c != additionalConverters.end(); ++c ) - { - // We have to make sure that we don't add same file twice to same converter. So, let's take first a list of - // .svg file converters and compare them to the .svgb file converters. Don't add temporary file to converters - // that are found from both of the lists. - MifConvFileConverterList::iterator c2 = std::find(thisFilesConverters.begin(), thisFilesConverters.end(), *c ); - if( c2 == thisFilesConverters.end() ) - { - // .svgb converter not found from .svg converters -> add temporary file to .svgb converter: - MifConvSourceFile svgbFile(sourcefile); - svgbFile.SetFilename(tempBinFilename); - (*c)->AppendFile(svgbFile); - } - } - } -} - -/** - * - */ -void MifConvIconBinaryConverter::Convert() -{ - if( iSourceFiles.size() > 0 && MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) == false ) - { - ConvertToSvgb(); - } -} - -/** - * - */ -void MifConvIconBinaryConverter::Cleanup(bool err) -{ - CleanupTempFiles(); - if( err ) - { - CleanupTargetFiles(); - } -} - -/** - * - */ -void MifConvIconBinaryConverter::ConvertToSvgb() -{ - RunExtConverter(); -} - -/** - * - */ -void MifConvIconBinaryConverter::InitTempFile() -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - // Construct temp file name - // If temp directory is given in command line arguments, use it: - iTempDir = MifConvUtil::DefaultTempDirectory(); - const MifConvString& tempDirArg = argMgr->StringValue(MifConvTempPathArg); - if( tempDirArg.length() > 0 ) - { - iTempDir = tempDirArg; - } - - if( iTempDir.length() > 0 && iTempDir.at(iTempDir.length()-1) != DIR_SEPARATOR2 ) - { - iTempDir.append(DIR_SEPARATOR); - } - - // Generate new temp-filename: - iTempDir.append(MifConvUtil::TemporaryFilename()); - - // append tmp at as postfix - // this is needed because the generated name can contain a single period '.' - // character as the last character which is eaten away when the directory created. - iTempDir.append(MifConvString("tmp")); - - MifConvUtil::EnsurePathExists(iTempDir); - - iTempDir.append(DIR_SEPARATOR); -} - -/** - * - */ -void MifConvIconBinaryConverter::ConvertToBinaryFilename( MifConvString& input ) -{ - MifConvUtil::ReplaceChar(input, DIR_SEPARATOR2, '_'); - MifConvUtil::ReplaceChar(input, INCORRECT_DIR_SEPARATOR2, '_'); - MifConvUtil::ReplaceChar(input, ':', '_'); - MifConvUtil::ReplaceChar(input, ' ', '_'); -} - -/** - * - */ -void MifConvIconBinaryConverter::RunExtConverter() -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - - // Build svgtbinencode command - MifConvString extConverterCommand("\""); // Open the " mark - MifConvString versionArgument; - MifConvString sourceArgument; - - const MifConvString& extConverterPath = argMgr->StringValue(MifConvSvgencodePathArg); - const MifConvString& defaultExtConverterPath = GetDefaultExtConverterPath(); - if( extConverterPath.length() > 0 ) - { - extConverterCommand += extConverterPath; // If the path is given, use it. - } - else - { - extConverterCommand += defaultExtConverterPath; // Use default path - } - - // Ensure that the last char of the path is dir-separator: - if( extConverterCommand.length() > 1 && extConverterCommand.at(extConverterCommand.length()-1) != DIR_SEPARATOR2 ) - extConverterCommand += DIR_SEPARATOR; - - // Then add SVGTBINENCODE executable call and close the " mark - extConverterCommand += SVGTBINENCODE_EXECUTABLE_NAME + MifConvString("\" "); - - // If SVGTBINENCODE version is given, use it also: - const MifConvString& extConverterVersion = argMgr->StringValue(MifConvSvgtVersionArg); - if( extConverterVersion.length() > 0 ) - { - versionArgument = SVGTBINENCODE_OPTION_PREFIX + - MifConvString(SVGTBINENCODE_VERSION_PARAMETER) + " " + extConverterVersion; - extConverterCommand += versionArgument + " "; - } - - // Run converter for each of the source files: - for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i ) - { - // Build temp filename by replacing dir separator and ':' chars with '_': - MifConvString tmpFileName(i->Filename()); - ConvertToBinaryFilename(tmpFileName); - - // Copy source file to temp directory: - MifConvString to(iTempDir + tmpFileName); - if( MifConvUtil::CopyFile(i->Filename(), to) == false ) - { - THROW_ERROR_COMMON("File copy failed: " + to, MifConvString(__FILE__), __LINE__ ); - } - iTempFilenames.push_back(to); - // It seems that system() function does not work if the command consists of two separate parts - // enclosed with quotation marks. If the whole string is enclosed with quotation marks then it works... - // For example: command '"\epoc32\tools\bmconv" "somefile"' does not work while command - // '""\epoc32\tools\bmconv" "somefile""' does. - if( system(MifConvString("\""+extConverterCommand+"\""+to+"\"\"").c_str()) < 0 ) - { - int ernro = errno; // The error number must check straight away before any next system command - - MifConvString errStr("Executing SVGTBINENCODE failed"); - if( ernro ) - { - errStr += ", system error = " + MifConvUtil::ToString(ernro); // Possible system error. - } - THROW_ERROR_COMMON(errStr, MifConvString(__FILE__), __LINE__ ); - } - } -} - -/** - * - */ -void MifConvIconBinaryConverter::CleanupTempFiles() -{ - for( MifConvStringList::iterator i = iTempFilenames.begin(); i != iTempFilenames.end(); ++i ) - { - if( remove( i->c_str() ) != 0 ) - { - perror( "Error deleting file (svg conversion)" ); - } - } - if( iTempDir.length() > 0 && MifConvUtil::RemoveDirectory( iTempDir ) != 0 ) - { - perror( "Error deleting temporary directory (svg conversion)" ); - } -} - -/** - * - */ -const MifConvString& MifConvIconBinaryConverter::GetDefaultExtConverterPath() -{ - if( iDefaultExtConverterPath.length() == 0 ) - { - // Check if the EPOCROOT is given - MifConvString epocRoot(MifConvArgumentManager::Instance()->EpocRoot()); - if( epocRoot.length() > 0 ) - { - iDefaultExtConverterPath += epocRoot; - } - - // Ensure that the last char of the path is dir-separator: - if( iDefaultExtConverterPath.length() > 0 ) - { - if( iDefaultExtConverterPath.at(iDefaultExtConverterPath.length()-1) != DIR_SEPARATOR2 ) - { - iDefaultExtConverterPath += DIR_SEPARATOR; - } - iDefaultExtConverterPath += SVGTBINENCODE_DEFAULT_PATH; - } - } - - return iDefaultExtConverterPath; -} - - - diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_mifconverter.cpp --- a/dependencies/mifconv/src/mifconv_mifconverter.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,295 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv MIF converters class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_mifconverter.h" -#include "mifconv_util.h" -#include "mifconv_exception.h" -#include "mifconv_argumentmanager.h" - -// File versions: -// V1 - first version. -// V2 - stores information if icon location (MIF/MBM) inside the MIF file (bitmap offsets array). -// This way, icon IDs in MBG header can be always the same regardless of which icons are in MIF -// file and which in MBM file. -static const int KFileVersion(2); -static const int KIconVersion(1); - -static const int FileHeaderSizeInBytes = 4*4; -static const int IconHeaderSizeInBytes = 4*8; -static const int KUidAvkonMultiIconFile(0x034232342); -static const int KUidAvkonMultiIcon(0x034232343); - -//static const int IconFormatType_BMP(0); -//static const int IconFormatType_SVG(1); - -static const unsigned int svgbSignatureLow (0x03FA56CC); //66737868 -static const unsigned int svgbSignatureHigh(0x03FA56CF); //66737871 - -static const unsigned int nvgSignatureLow (0x0067766E); //('n'+'v'+'g'+0) -static const unsigned int nvgSignatureHigh(0xFF67766E); //('n'+'v'+'g'+255) - -/** - * - */ -MifConvMifConverter::MifConvMifConverter() -{ - MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance(); - iTargetFilename = argMgr->TargetFile(); -} - -/** - * - */ -MifConvMifConverter::~MifConvMifConverter() -{ - // Delete file contents - for( StringPtrVector::iterator i = iContentPointers.begin(); i != iContentPointers.end(); ++i ) - { - delete[] *i; - } -} - -/** - * - */ -void MifConvMifConverter::Init() -{ - CleanupTargetFiles(); -} - -/** - * - */ -void MifConvMifConverter::CleanupTargetFiles() -{ - if( MifConvUtil::FileExists(iTargetFilename) ) - { - // Try to remove file MIFCONV_MAX_REMOVE_TRIES times, no exception in case of failure: - MifConvUtil::RemoveFile(iTargetFilename, MIFCONV_MAX_REMOVE_TRIES, true); - } -} - -/** - * - */ -void MifConvMifConverter::AppendFile( const MifConvSourceFile& sourcefile ) -{ - if( MifConvUtil::FileExtension( sourcefile.Filename() ) == BMP_FILE_EXTENSION || - MifConvUtil::FileExtension( sourcefile.Filename() ) == SVG_FILE_EXTENSION || - MifConvUtil::FileExtension( sourcefile.Filename() ) == SVGB_BINARY_FILE_EXTENSION ) - { - iSourceFiles.push_back( sourcefile ); - } -} - -void MifConvMifConverter::Convert() -{ - ReadFileContents(); - cout << "Writing mif: " << MifConvArgumentManager::Instance()->TargetFile() << endl; - ConvertToMif(); -} - -void MifConvMifConverter::ReadFileContents() -{ - for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i ) - { - // Just read the contents of the .svgb files - if( MifConvUtil::FileExtension( i->Filename() ) != BMP_FILE_EXTENSION ) - { - if( MifConvUtil::FileExists(i->Filename()) == false ) - { - THROW_ERROR_COMMON("Unable to open file for reading! " + i->Filename(), MifConvString(__FILE__), __LINE__ ); - } - cout << "Loading file: " << i->Filename() << endl; - MifConvFileData retVal = MifConvUtil::FileContents(i->Filename()); - iContentPointers.push_back(retVal.first); // Save pointer for deleting it later - i->SetContent(retVal.first, retVal.second); - } - } -} - - -void MifConvMifConverter::Cleanup(bool err) -{ - CleanupTempFiles(); - if( err ) - { - CleanupTargetFiles(); - } -} - -void MifConvMifConverter::ConvertToMif() -{ - try { - OpenTargetFile(); - } - catch( MifConvException& e ) - { - // If file creation/opening was not successful, give warning and return: - MifConvString debugStr("WARNING: Target file " + iTargetFilename + " cannot be opened for writing."); - cout << debugStr << endl; - MifConvUtil::DebugLog(debugStr); - return; - } - WriteTargetHeader(); - WriteIconArray(); - WriteIcons(); -} - -void MifConvMifConverter::OpenTargetFile() -{ - iTargetFile.open( iTargetFilename.c_str(), ios::out|ios::binary ); - - if (!iTargetFile.is_open()) - { - // Create path if it does not exist. - MifConvUtil::EnsurePathExists(iTargetFilename, true); - iTargetFile.clear(); - iTargetFile.open( iTargetFilename.c_str(), ios::out|ios::binary ); - } - if (!iTargetFile.is_open()) - { - THROW_ERROR_COMMON("Cannot write to file! " + iTargetFilename, MifConvString(__FILE__), __LINE__); - } -} - -void MifConvMifConverter::WriteTargetHeader() - { - size_t arraySize = iSourceFiles.size() * 2; - int offset = FileHeaderSizeInBytes; - iTargetFile.write( (char*) &KUidAvkonMultiIconFile, 4 ); - iTargetFile.write( (char*) &KFileVersion, 4 ); - iTargetFile.write( (char*) &offset, 4 ); - iTargetFile.write( (char*) &arraySize, 4 ); - } - -void MifConvMifConverter::CleanupTempFiles() -{ -} - -void MifConvMifConverter::WriteIcons() -{ - for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i ) - { - if( i->ContentLength() > 0 ) - { - WriteIconHeader(*i); - WriteIconData(*i); - } - } -} - -MifConvDefs::IconFormatType MifConvMifConverter::ReadIconBinaryType(const MifConvSourceFile& src) -{ - MifConvDefs::IconFormatType ret = MifConvDefs::IconFormatType_SVG; - - if( src.ContentLength() >= 4 ) - { - const char* iconData = src.Content(); - - if( iconData[0] == 'n' && - iconData[1] == 'v' && - iconData[2] == 'g' ) - { - ret = MifConvDefs::IconFormatType_NVG; - } - } - - return ret; -} - -void MifConvMifConverter::WriteIconHeader(const MifConvSourceFile& src) -{ - int type = 0; - if( MifConvUtil::FileExtension(src.Filename()) == BMP_FILE_EXTENSION ) - type = MifConvDefs::IconFormatType_BMP; - else - type = ReadIconBinaryType(src); - //type = IconFormatType_SVG; - - int animated = (int) src.IsAnimated(); - int dataLen = src.ContentLength(); - int depth = src.DisplayMode(); - int mask = src.MaskDisplayMode(); - int dataoffset = IconHeaderSizeInBytes; // 8 = number of writes in this method. - - iTargetFile.write((char*)&KUidAvkonMultiIcon, 4); // 1 - iTargetFile.write((char*)&KIconVersion, 4); // 2 - iTargetFile.write((char*)&dataoffset, 4); // 3 - iTargetFile.write((char*)&dataLen, 4); // 4 - iTargetFile.write((char*)&type, 4); // 5 - iTargetFile.write((char*)&depth, 4); // 6 - iTargetFile.write((char*)&animated, 4); // 7 - iTargetFile.write((char*)&mask, 4); // 8 -} - -void MifConvMifConverter::WriteIconData(const MifConvSourceFile& src) -{ - if( src.Content() ) - { - iTargetFile.write(src.Content(), src.ContentLength()); - } -} - -/** -* -*/ -void MifConvMifConverter::WriteIconArray() -{ - int offset = (int) FileHeaderSizeInBytes + (int)iSourceFiles.size()*4*2*2; - MifConvSourceFileList::iterator i = iSourceFiles.begin(); - - int mbmIndex = 0; - int zero = 0; - - for( ; i != iSourceFiles.end(); ++i ) - { - // MIF icon - if( MifConvUtil::FileExtension(i->Filename()) != BMP_FILE_EXTENSION ) - { - int length = i->ContentLength() + IconHeaderSizeInBytes; - iTargetFile.write( (char*) &offset, 4 ); - iTargetFile.write( (char*) &length, 4 ); - // same information for the mask... - iTargetFile.write( (char*) &offset, 4 ); - iTargetFile.write( (char*) &length, 4 ); - - offset += length; - } - // MBM icon - else - { - iTargetFile.write( (char*) &mbmIndex, 4 ); - iTargetFile.write( (char*) &zero, 4 ); - - // Masked MBM icon -> There is own MBM index for the mask. - if(i->MaskDepth() != IconMaskDepth_Undefined ) - { - mbmIndex--; - } - - iTargetFile.write( (char*) &mbmIndex, 4 ); - iTargetFile.write( (char*) &zero, 4 ); - - // MBM incides are coded as negative in the 'offset' field, - // so that they can be easily separated from the actual MIF offsets. - mbmIndex--; - } - } -} diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_sourcefile.cpp --- a/dependencies/mifconv/src/mifconv_sourcefile.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv source file class. -* -*/ - - -#include "mifconv.h" -#include "mifconv_sourcefile.h" -#include "mifconv_util.h" -#include "mifconv_exception.h" -#include "mifconv_argument.h" -#include "mifconv_argumentmanager.h" - -MifConvSourceFile::MifConvSourceFile() -: -iDepth(IconDepth_Undefined), -iMaskDepth(IconMaskDepth_Undefined), -iDisplayMode(DisplayMode_None), -iMaskDisplayMode(DisplayMode_None), -iAnimated(false), -iContent(0), -iContentLen(0) -{ -} - -MifConvSourceFile::MifConvSourceFile( const MifConvSourceFile& src ) -: -iFilename( src.Filename() ), -iDepthString( src.DepthString() ), -iMaskDepthString( src.MaskDepthString() ), -iDepth(src.iDepth), -iMaskDepth(src.iMaskDepth), -iDisplayMode(src.iDisplayMode), -iMaskDisplayMode(src.iMaskDisplayMode), -iAnimated( src.IsAnimated() ), -iMaskFilename( src.iMaskFilename ), -iContent(src.iContent), -iContentLen(src.iContentLen) -{ -} - -MifConvSourceFile::~MifConvSourceFile() -{} - -char* MifConvSourceFile::Content() const -{ - return iContent; -} - -int MifConvSourceFile::ContentLength() const -{ - return iContentLen; -} - -void MifConvSourceFile::SetContent(char* content, unsigned int len) -{ - iContent = content; - iContentLen = len; -} - -const MifConvString& MifConvSourceFile::Filename() const -{ - return iFilename; -} - -void MifConvSourceFile::SetAnimated( bool isAnimated ) -{ - iAnimated = isAnimated; -} - -void MifConvSourceFile::SetFilename( const MifConvString& filename ) -{ - iFilename = filename; -} - -void MifConvSourceFile::SetDisplayMode( IconDisplayMode mode) -{ - iDisplayMode = mode; -} - -IconDisplayMode MifConvSourceFile::DisplayMode() const -{ - return iDisplayMode; -} - -void MifConvSourceFile::SetMaskDisplayMode( IconDisplayMode mode) -{ - iMaskDisplayMode = mode; -} - -IconDisplayMode MifConvSourceFile::MaskDisplayMode() const -{ - return iMaskDisplayMode; -} - -IconDepth MifConvSourceFile::Depth() const -{ - return iDepth; -} - -void MifConvSourceFile::SetDepth(IconDepth depth) -{ - iDepth = depth; -} - -const MifConvString& MifConvSourceFile::DepthString() const -{ - return iDepthString; -} - -IconMaskDepth MifConvSourceFile::MaskDepth() const -{ - return iMaskDepth; -} - -void MifConvSourceFile::SetMaskDepth(IconMaskDepth depth) -{ - iMaskDepth = depth; -} - -const MifConvString& MifConvSourceFile::MaskDepthString() const -{ - return iMaskDepthString; -} - -bool MifConvSourceFile::IsAnimated() const -{ - return iAnimated; -} - -const MifConvString& MifConvSourceFile::BmpMaskFilename() const -{ - return iMaskFilename; -} - -void MifConvSourceFile::SetBmpMaskFilename( const MifConvString& maskFilename ) -{ - iMaskFilename = maskFilename; -} - -void MifConvSourceFile::SetDepthString( const MifConvString& depth ) -{ - iDepthString = depth; -} - -void MifConvSourceFile::SetMaskDepthString( const MifConvString& mask ) -{ - iMaskDepthString = mask; -} - -void MifConvSourceFile::SetDepthAndMask( const MifConvString& depthAndMask ) -{ - size_t separatorIndex = depthAndMask.find(","); - - if( separatorIndex != MifConvString::npos ) - { - iDepthString = MifConvString(depthAndMask.begin()+1, depthAndMask.begin()+separatorIndex); - iMaskDepthString = MifConvString(depthAndMask.begin()+separatorIndex+1, depthAndMask.end()); - iMaskDepth = MifConvArgumentManager::Instance()->ConvertToMaskDepth(iMaskDepthString); - } - else - { - iDepthString = MifConvString(depthAndMask.begin()+1, depthAndMask.end()); - } - iDepth = MifConvArgumentManager::Instance()->ConvertToDepth(iDepthString); -} - diff -r db99fd9fcd1c -r 0d4ac38889fc dependencies/mifconv/src/mifconv_util.cpp --- a/dependencies/mifconv/src/mifconv_util.cpp Thu Apr 01 12:25:43 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,593 +0,0 @@ -/* -* Copyright (c) 2009 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: Mifconv utilities. -* -*/ - - -#include "mifconv.h" -#include "mifconv_util.h" -#include "mifconv_exception.h" -#include "mifconv_argumentmanager.h" -#include // for stat -#ifdef WIN32 - #include // for _getcwd, _chdir, _mkdir -#else - #include -#endif -#include // for _MAX_PATH -#include - -#ifndef _MAX_PATH -#define _MAX_PATH (260) -#endif - -MifConvUtil::MifConvDebugMode MifConvUtil::iDebugMode = DebugMode_Unknown; -MifConvString MifConvUtil::iDebugFile = ""; -MifConvString MifConvUtil::iTempDirectory = ""; - -/** - * - */ -MifConvString MifConvUtil::FileExtension( const MifConvString& fileName ) -{ - size_t indexOfDot; // index of '.' character in the given string - - // Find last occurence of the '.' character - if( ( indexOfDot = fileName.find_last_of('.') ) == MifConvString::npos ) - { - // Not found, return empty string - return MifConvString(""); - } - - // Return the substring starting after the '.' character - return MifConvString( fileName.begin()+indexOfDot+1, fileName.end() ); -} - -/** - * - */ -MifConvString MifConvUtil::FilenameWithoutExtension( const MifConvString& fileName ) -{ - size_t indexOfDot; // index of '.' character in the given string - - // Find last occurence of the '.' character - if( ( indexOfDot = fileName.find_last_of('.') ) == MifConvString::npos ) - { - // Not found, return the whole name - return fileName; - } - - // Return the substring preceding the last '.' character - return MifConvString( fileName.begin(), fileName.begin() + indexOfDot ); -} - -/** - * - */ -MifConvString MifConvUtil::FilenameWithoutPath( const MifConvString& fileName ) -{ - size_t indexOfDirSeparator; // index of directory separator in the given string - - // Find last occurence of the '.' character - if( ( indexOfDirSeparator = fileName.find_last_of(DIR_SEPARATOR2) ) == MifConvString::npos ) - { - // Not found, return the whole name - return fileName; - } - - // Return the substring beginnig after the last directory separator - return MifConvString( fileName.begin()+indexOfDirSeparator+1, fileName.end() ); -} - -/** - * - */ -bool MifConvUtil::FileExists( const MifConvString& fileName ) -{ - struct stat fileInfo; - int retVal = 0; - - // Try to get file attributes to see if the file exists or not: - retVal = stat( fileName.c_str(), &fileInfo); - return retVal == 0; -} - -/** - * - */ -size_t MifConvUtil::FileSize( const MifConvString& fileName ) -{ - struct stat fileInfo; - int retVal = 0; - - // Try to get file attributes to see if the file exists or not: - retVal = stat( fileName.c_str(), &fileInfo); - if( retVal != 0 ) - { - THROW_ERROR_COMMON("File not found: " + fileName, MifConvString(__FILE__), __LINE__); - } - - return fileInfo.st_size; -} - -/** - * - */ -MifConvFileData MifConvUtil::FileContents( const MifConvString& fileName ) -{ - unsigned int fileLen = (unsigned int) (MifConvUtil::FileSize(fileName)/sizeof(char)); - - ifstream fs( fileName.c_str(), FILE_IN_BINARY_NOCREATE_FLAGS ); - if (!fs.is_open()) - { - THROW_ERROR_COMMON("Unable to open file for reading! " + fileName, MifConvString(__FILE__), __LINE__); - } - char* buffer = new char[fileLen]; - fs.read(buffer, fileLen); - return MifConvFileData(buffer, fileLen); -} - -/** - * - */ -void MifConvUtil::ReplaceChar( MifConvString& str, char replaceFrom, char replaceTo) -{ - if( str.length() > 0 ) - { - MifConvString::size_type index = 0; - while( (index = str.find(replaceFrom, index)) != MifConvString::npos ) - { - str.replace(index,1,1,replaceTo); - } - } -} - -/** - * - */ -void MifConvUtil::SplitPath( const MifConvString& sourcePath, MifConvString& drive, MifConvString& path) - { - if( sourcePath.length() > 0 ) - { - size_t driveSeparatorPos = sourcePath.find(':'); - if( driveSeparatorPos != MifConvString::npos ) - { - drive = MifConvString(sourcePath.begin(), sourcePath.begin() + driveSeparatorPos ); - path = MifConvString(sourcePath.begin() + driveSeparatorPos + 1, sourcePath.end() ); - } - else - { - path = sourcePath; - } - } - else - { - drive = MifConvString(""); - path = MifConvString(""); - } -} - -/** - * - */ -MifConvString MifConvUtil::CurrentPath() -{ - char temp[_MAX_PATH]; -#ifdef WIN32 - _getcwd(temp, _MAX_PATH); -#else - getcwd(temp, _MAX_PATH); -#endif - return MifConvString(temp); -} - -/** - * - */ -int MifConvUtil::CompareIgnoreCase( const MifConvString& lhs, const MifConvString& rhs ) -{ - MifConvString lhsCopy(lhs); - MifConvString rhsCopy(rhs); - - return ToLower(lhsCopy).compare(ToLower(rhsCopy)); -} - -/** - * - */ -MifConvString& MifConvUtil::ToLower( MifConvString& str ) -{ - MifConvString::iterator it(str.begin()); - for(; it != str.end(); ++it) - { - *it = (char) tolower((unsigned char)*it); - } - return str; -} - -/** - * - */ -void MifConvUtil::EnsurePathExists( const MifConvString& destFileName, bool ignoreLast ) - { - MifConvString currentPath; - MifConvString tmpDrive; - MifConvString tmpPath; - - // Parse a drive of a destination path; if any - SplitPath( destFileName, tmpDrive, tmpPath ); - - // Save current directory - currentPath = CurrentPath(); - - // Change drive if needed: - if( tmpDrive.length() > 0 ) - { - tmpDrive += ":"; - tmpDrive += DIR_SEPARATOR; - ChangeDirectory(tmpDrive); - } - - // Split desination path to separate directories: - MifConvStringList destDirList; - - // Check if the root is given first and add it to dir list: - if( tmpPath.length() > 0 && tmpPath.at(0) == DIR_SEPARATOR2 ) - { - destDirList.push_back(DIR_SEPARATOR); - } - - // Add other directories to destination dir list: - SplitString( tmpPath, DIR_SEPARATOR, destDirList ); - - // Remove last component from the list if it should be ignored: - if( ignoreLast ) - { - destDirList.pop_back(); - } - - unsigned int i = 0; - while( i < destDirList.size() ) - { - const MifConvString& dir = destDirList[i++]; - if( !FileExists(dir) ) - { - if( !CreateDirectory( dir ) ) - { - // Change back to original directory: - ChangeDirectory( currentPath ); - THROW_ERROR_COMMON("Directory " + tmpPath + " cannot be created", MifConvString(__FILE__), __LINE__); - } - } - ChangeDirectory( dir ); - } - - // Change back to original directory: - ChangeDirectory( currentPath ); -} - -/** - * - */ -void MifConvUtil::RemoveDuplicateDirSeparators( MifConvString& str ) -{ - MifConvString searchString(DIR_SEPARATOR); - searchString += DIR_SEPARATOR; - size_t pos = str.find(searchString); - - while(pos != MifConvString::npos) - { - str.erase(pos, 1); - pos = str.find(searchString); - } -} - -/** - * - */ -bool MifConvUtil::CreateDirectory( const MifConvString& path ) -{ -#ifdef WIN32 - return _mkdir( path.c_str() ) == 0; -#else - return mkdir( path.c_str(), 0777 ) == 0; -#endif -} - -/** - * - */ -void MifConvUtil::SplitString( const MifConvString& str, const MifConvString& separator, MifConvStringList& components ) -{ - size_t beginPos = 0; - size_t endPos = 0; - - while( (endPos = str.find(separator, beginPos)) != MifConvString::npos ) - { - if( endPos - beginPos > 0 ) - { - components.push_back( MifConvString( str.begin()+beginPos, str.begin()+endPos ) ); - } - beginPos = endPos+1; - } - if( str.begin()+beginPos != str.end() ) - { - components.push_back( MifConvString(str.begin()+beginPos, str.end()) ); - } -} - -/** - * - */ -MifConvString MifConvUtil::UnadornedFilename( const MifConvString& filename ) -{ - MifConvStringList splitted; - SplitString(filename, DIR_SEPARATOR, splitted); - - MifConvString tmp(splitted.back()); - splitted.clear(); - SplitString(tmp, INCORRECT_DIR_SEPARATOR, splitted); - - tmp = splitted.back(); - splitted.clear(); - SplitString(tmp, FILE_EXTENSION_SEPARATOR, splitted); - - MifConvString fixedname; - - if( splitted.size() > 0 ) - { - fixedname = ToLower(splitted[0]); - if( fixedname.length() > 0 ) - { - fixedname[0] = (char) toupper( fixedname[0] ); - } - } - return fixedname; -} - -/** - * - */ -void MifConvUtil::FindAndSetBitmapMaskFile( MifConvSourceFile& srcFile ) -{ - if( srcFile.MaskDepth() == IconMaskDepth_Undefined ) - { - return; // No mask file - } - MifConvString fileExtension(FileExtension( srcFile.Filename() )); - - if( CompareIgnoreCase(fileExtension, BMP_FILE_EXTENSION) != 0 ) - { - return; - } - - MifConvString maskFilename(FilenameWithoutExtension(srcFile.Filename())); - - if( srcFile.MaskDepth() == IconMaskDepth_1 ) - { - maskFilename += "_mask.bmp"; - } - else if( srcFile.MaskDepth() == IconMaskDepth_8 ) - { - maskFilename += "_mask_soft.bmp"; - } - else - { - THROW_ERROR_COMMON("Invalid mask depth\n", MifConvString(__FILE__), __LINE__); - } - - if( !FileExists(maskFilename) ) - { - cerr << endl << "*** WARNING! Missing bitmap: " << maskFilename << endl; - } - - srcFile.SetBmpMaskFilename( maskFilename ); -} - -/** - * - */ -MifConvString MifConvUtil::TemporaryFilename() -{ - MifConvString tmp(tmpnam(NULL)); - MifConvString::iterator i = tmp.begin(); - - if( *i == '.' ) - { - ++i; - } - - if( *i == DIR_SEPARATOR2 || *i == INCORRECT_DIR_SEPARATOR2 ) - { - ++i; - } - - return MifConvString(i, tmp.end()); -} - -/** - * - */ -bool MifConvUtil::CopyFile(const MifConvString& from, const MifConvString& to) -{ - bool retval = false; - ifstream in(from.c_str(), ios::binary); - if( in ) - { - ofstream out(to.c_str(), ios::binary); - if( out ) - { - out << in.rdbuf(); - retval = out.good(); - out.close(); - } - in.close(); - } - return retval; -} - -/** - * - */ -bool MifConvUtil::IsWhiteSpace(char c) -{ - return c == ' ' || c == '\n' || c == '\r' || c == '\t'; -} - -/** - * - */ -void MifConvUtil::ChangeDirectory( const MifConvString& dirName ) -{ -#ifdef WIN32 - _chdir( dirName.c_str() ); -#else - chdir( dirName.c_str() ); -#endif -} - -/** - * - */ -int MifConvUtil::RemoveDirectory( const MifConvString& dirName ) -{ -#ifdef WIN32 - return _rmdir( dirName.c_str() ); -#else - return rmdir( dirName.c_str() ); -#endif -} - -/** - * - */ -void MifConvUtil::RemoveFile( const MifConvString& fileName, int maxTries, bool noException ) -{ - for( int i = 0; i < maxTries; ++i ) - { -#ifdef WIN32 - int ret = _unlink(fileName.c_str()); -#else - int ret = unlink(fileName.c_str()); -#endif - - if( ret == 0 ) - { - // Delete was successful - return; - } - - // Delete was not successful - if( i >= maxTries-1 ) - { - // Max amount of tries exceeded -> print warning or throw an exception - if( noException ) - { - MifConvString debugStr("WARNING: Cannot remove file " + fileName); - DebugLog(debugStr); - } - else - { - THROW_ERROR_COMMON("Cannot remove file " + fileName, MifConvString(__FILE__), __LINE__); - } - } - } -} - -/** - * - */ -MifConvString MifConvUtil::DebugFile() -{ - char* tmpPtr = getenv(MIFCONV_DEBUG_FILE_ENV.c_str()); - if( tmpPtr ) - { - return MifConvString(tmpPtr); - } - return MifConvString(); -} - -/** - * - */ -void MifConvUtil::DebugLog(const MifConvString& debugStr) -{ - if( iDebugMode == DebugMode_Unknown ) - { - iDebugFile = MifConvUtil::DebugFile(); - if( iDebugFile.length() > 0 ) - { - iDebugMode = DebugMode_Debug; - } - else - { - iDebugMode = DebugMode_NoDebug; - } - } - - if( iDebugMode == DebugMode_Debug ) - { - ios_base::openmode file_flags; - if( MifConvUtil::FileExists(iDebugFile) ) - { - file_flags = ios::out|ios::app; - } - else - { - file_flags = ios::out|ios::trunc; - } - fstream debugLog(iDebugFile.c_str(), file_flags); - if(debugLog.is_open()) - { - debugLog << debugStr << endl; - debugLog.close(); - } - } -} - -/** - * - */ -const MifConvString& MifConvUtil::DefaultTempDirectory() - { - if( iTempDirectory.length() == 0 ) - { - char* tmpPtr = getenv(SBS_BUILD_DIR_ENV.c_str()); - if( tmpPtr && MifConvString(tmpPtr).length() > 0 ) - { - iTempDirectory = MifConvString(tmpPtr); - - if( iTempDirectory.at(iTempDirectory.length()-1) != DIR_SEPARATOR2 ) - { - iTempDirectory += DIR_SEPARATOR; - } - - iTempDirectory += EPOC_ICON_BUILD_PATH_POSTFIX + - MifConvString(DIR_SEPARATOR) + - MifConvString("temp"); - } - else - { - iTempDirectory = MifConvArgumentManager::Instance()->EpocRoot() + - EPOC_BUILD_PATH + - MifConvString(DIR_SEPARATOR) + - EPOC_ICON_BUILD_PATH_POSTFIX + - MifConvString(DIR_SEPARATOR) + - MifConvString("temp"); - } - } - return iTempDirectory; - } -