/*******************************************************************************
;*******************************************************************************
;**                                                                           **
;**                  COPYRIGHT 2001-2012 NUANCE COMMUNICATIONS                **
;**                                                                           **
;**               NUANCE COMMUNICATIONS PROPRIETARY INFORMATION               **
;**                                                                           **
;**     This software is supplied under the terms of a license agreement      **
;**     or non-disclosure agreement with Nuance Communications and may not    **
;**     be copied or disclosed except in accordance with the terms of that    **
;**     agreement.                                                            **
;**                                                                           **
;*******************************************************************************
;**                                                                           **
;**     FileName: et9aoembuild.h                                              **
;**                                                                           **
;**  Description: This file contains (or includes) defines that determine     **
;**  specific features to be included/excluded from an OEM-specific build.    **
;**                                                                           **
;*******************************************************************************
;******************************************************************************/


#ifndef _OEMBUILD_H_
#define _OEMBUILD_H_            1


/*================================================================================= */
/* This section of defines determine whether certain features are (or are not) */
/*   implemented in the Swype algorithm. */
/*================================================================================= */

/* Include the build header for the current project. This header will specify the intended */
/* target device for this project. */

#include "et9aprojectbuild.h"

#ifndef HEADLESS_API
    #define HEADLESS_API                            0
#endif

#ifndef USING_SRT
    #define USING_SRT                               0
#endif

#ifndef     USE_PT_FOR_MGD_DEFAULT
    #define USE_PT_FOR_MGD_DEFAULT                  1
#endif
#ifndef     USE_HWCL_DEFAULT
    #define USE_HWCL_DEFAULT                        0
#endif
#ifndef     REFERENCE_BUILD
    #define REFERENCE_BUILD                         0
#endif
#ifndef     REFERENCE_DEBUG_BUILD
    #define REFERENCE_DEBUG_BUILD                   0
#endif
#ifndef     OMNIA_I_BUILD
    #define OMNIA_I_BUILD                           0
#endif
#ifndef     OMNIA_II_BUILD
    #define OMNIA_II_BUILD                          0
#endif
#ifndef     HTC_BLACKBIRD_BUILD
    #define HTC_BLACKBIRD_BUILD                     0
#endif
#ifndef     HTC_TOUCH_HD_BUILD
    #define HTC_TOUCH_HD_BUILD                      0
#endif
#ifndef     HTC_TOUCH_HD_DEBUG_BUILD
    #define HTC_TOUCH_HD_DEBUG_BUILD                0
#endif
#ifndef     ANDROID_BUILD
    #define ANDROID_BUILD                           0
#endif
#ifndef     SYMREF_BUILD
    #define SYMREF_BUILD                            0
#endif
#ifndef     QT_BUILD
    #define QT_BUILD                            0
#endif
#ifndef     SAMSUNG_SPACE_BUILD
    #define     SAMSUNG_SPACE_BUILD                 0
#endif
#ifndef     SAMSUNG_LINUX_PLATFORM
    #define     SAMSUNG_LINUX_PLATFORM                 0
#endif
#ifndef     BREW_MP_BUILD
    #define BREW_MP_BUILD                           0
#endif
#ifndef     SWYPE_CONSOLE_BUILD
    #define SWYPE_CONSOLE_BUILD                     0
#endif
#ifndef     IPHONE_BUILD
    #define IPHONE_BUILD                            0
#endif
#ifndef     SCOREWORDAPI_BUILD
    #define SCOREWORDAPI_BUILD                      0
#endif
#if !defined(FORCE_HIDE_WCW_BEFORE_SHOW)
    #define FORCE_HIDE_WCW_BEFORE_SHOW  0
#endif
/* Based on the target device specified in the include above, enable the set of features */
/* deemed appropriate. */

#ifndef     ENABLE_NWP_DEFAULT
    #define     ENABLE_NWP_DEFAULT false
#endif /*   HAS_NAVIGATION_BAR_DEFAULT */


#if REFERENCE_BUILD || REFERENCE_DEBUG_BUILD
    /************************************************************************ */
    /* REFERENCE_BUILD || REFERENCE_DEBUG_BUILD */
    /************************************************************************ */
    #if defined(_WIN32)
        #define HWCL_FOR_WINDOWS_DESKTOP                0

        /* This removes the hybrid approach of using the HWCL for the UDB addition query though */
        /* the rest of the HWCL is unimplemented or disabled by the BOB configuration. */
        #define USE_HWCL_FOR_UDB_QUERY                  0

        /* This removes the message box for the UDB removal query. Instead the Deluxe or HWCL */
        /* UDB query UI is used to prompt the user. */
        #define USE_MSGBOX_FOR_UDB_QUERY_REMOVE         0

        /* *************************************************** */
        /* This is the Win7 Tablet build for HP & Samsung */
        /* *************************************************** */
        #if defined(WINDOWS_TABLET_BUILD)
            #define WIN7TABLET_BUILD                        1
            #define TIME_LIMITED_RELEASE                    1   /* no time limit, (temporarily on) */
            #define CHECK_LICENSE_FILE                      0   /* also no license check, */
            #define CHECK_SYSTEM_AND_OS                     1   /* but do perform HP's "System and OS Check" (temporarily off for testing) */
            #define SHOW_BUILD_TIME                         0
            #define SHOW_SVN_REVISION                       0
            #define MINIMIZE_INSTEAD_OF_HIDE                0   /* Makes a task bar entry show-up for Swype. */
            #define CHINESE_IME                             0   /* IMEs on for HP, not Samsung */
            #define JAPANESE_IME                            0

            #define ENABLE_TIP_INIT                         0
            #define LOGGING                                 1
            #define SHOW_LANGAUGE_LIST_AS_WCW               0
            /* Swype key always bring up options when long-pressed */
            #define PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN     0
            #define WCW_X_POSITION_BOUNDED_BY_SINGLE_SCREEN 1
        #endif

        /* When this flag is set, the state machine does not attempt to repair double-taps. */
        #define DO_NOT_MERGE_ANY_TAPS                   1
        #define USE_GLOW_AS_TEMPORARY_HIGHLIGHT         1
        #ifndef CHINESE_IME
            #define CHINESE_IME                         0
        #endif
        #ifndef CHINESE_SPELL_CORRECTION
            #define CHINESE_SPELL_CORRECTION            1
        #endif
        #ifndef JAPANESE_IME
            #define JAPANESE_IME                        0
        #endif
        #ifndef JAPANESE_SPELL_CORRECTION
            #define JAPANESE_SPELL_CORRECTION           1
        #endif

        #define SHOW_LANGAUGE_LIST_AS_WCW               0
        #define DEFAULT_KEYBOARD_HORZ_POSITION          -1
        #define DEFAULT_KEYBOARD_VERT_POSITION          -1
        #define WCW_X_POSITION_BOUNDED_BY_SINGLE_SCREEN 1
    #endif

    #if !defined(TIME_LIMITED_RELEASE)
        #define TIME_LIMITED_RELEASE                1
    #endif

    #define FINGER_BUILD                                1
    #define FILTERING_BUILD                             0
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    #if REFERENCE_DEBUG_BUILD
        #define ENABLE_DEBUG_BUILD                  1
        /*      #define SHOW_ERRATIC_MOUSE_DATA             1 */
        /*      #define DEBUG_ERRATIC_MOUSE_DATA            1 */
        /*      #define DEBUG_PENDING_MOUSE_DATA            1 */
        /*      #define OUTPUT_RAW_MOUSE_DATA               1 */
        /*      #define OUTPUT_ERRATIC_MOUSE_DATA           1 */
        /*      #define DEBUG_GENERATE_ERRATIC_MOUSE_DATA   1 */
        #define SHOW_CUSTOM_BUILD_MESSAGE                               1   /* Show nature of build parameters on About screen */
    #endif

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS            1

    /* Use CTRL+TAB instead of TAB */
    #define USE_CTRL_TAB                1

    #define LIMIT_TAP_WCW_TO_SINGLE_PAGE        0           /* Limit tap predictions to single page (with no "More" button) */
    #define ALLOW_SLOPPY_PREDICTIVE_TAPPING     1           /* Allow sloppier tapping when predictive tap is enabled. */

#elif OMNIA_I_BUILD
    /************************************************************************ */
    /* OMNIA_I_BUILD */
    /************************************************************************ */
    #define FINGER_BUILD                            1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    /* Define values to initialize User option settings for Samsung builds */
    #define USE_SAMSUNG_DEFAULTS                    1

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS            1

#elif OMNIA_II_BUILD
    /************************************************************************ */
    /* OMNIA_II_BUILD */
    /************************************************************************ */
    #define FINGER_BUILD                            1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    /*#define DEFAULT_LANGUAGE_NAME "EnglishUS"       // for OmniaII VZW and Mexico */
    /*#define DEFAULT_LANGUAGE_NAME "EnglishUK"       // for OmniaII Europe */
    #define DEFAULT_LANGUAGE_NAME TEXT("EnglishAU")       /* for OmniaII Australia */

    /* Define values to initialize User option settings for Samsung builds */
    #define USE_SAMSUNG_DEFAULTS                    1

    #define USE_GLOW_AS_TEMPORARY_HIGHLIGHT         1

    /* On the OmniaII we have must not subclass the to, cc and bcc */
    /* fields of the email application. */
    #define SUPPRESS_EMAIL_FIELD_SUBCLASS           1

    /* Use WinMo 6.5 Window Auto Gesture Interface to enable touch scrolling. */
    #define USE_WAGI_SCROLLING                      1

    /* The OmniaII builds aren't time limited but we do have a license file */
    #define TIME_LIMITED_RELEASE                    0
    #define CHECK_LICENSE_FILE                      1

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS                        1

    /* Use no auto-capitalization features on the OmniaII */
    #define AUTO_CAPS_INIT                          0
    #define HIDE_AUTO_CAPS_OPTION                   1

    /* Use CTRL+TAB instead of TAB */
    #define USE_CTRL_TAB                            1

#elif HTC_BLACKBIRD_BUILD
    /************************************************************************ */
    /* HTC_BLACKBIRD_BUILD */
    /************************************************************************ */
    #define FINGER_BUILD                            1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */
    #define SMOOTH_TRACE_DATA                       1

    #define USE_GLOW_AS_TEMPORARY_HIGHLIGHT         1

    /* Limit the data handling rates due to the number of mouse move events on the BlackBird. */
    #define THROTTLE_SCREEN_REFRESH_RATE            1
    #define THROTTLE_MOUSE_DATA_INPUT_RATE          1

    /* Due to HTC packaging requirements, we have to prefix our file names with */
    /* a unique identifying string. */
    #define DATABASE_FILE_PREFIX                    1

    /* On the BlackBird we have must not subclass the weather application. */
    #define SUPPRESS_WEATHER_APP_SUBCLASS           1

    /* On the BlackBird we must tigger an IME to process auto-completion within */
    /* the to, cc and bcc fields of the email application. */
    #define TRIGGER_EMAIL_IME                       1

    /* On the BlackBird we must tigger an IME to process auto-completion within */
    /* the to, cc and bcc fields of the email application. */
    #define RESTRICT_TAB_IN_MESSAGING_APP           1

    /* On the BlackBird we have to trigger double-tap editing in the SMS/MMS */
    /* application on a single WM_LBUTTONUP message. */
    #define MESSAGING_SINGLE_TAP_EDIT               1

    /* Use WinMo 6.5 Window Auto Gesture Interface to enable touch scrolling. */
    #define USE_WAGI_SCROLLING                      1

    /* The BlackBird builds aren't time limited but we do have a license file */
    #define TIME_LIMITED_RELEASE                    0
    #define CHECK_LICENSE_FILE                      1

    /* Define values to initialize User option settings for Reference Build */
    #define USE_HTC_DEFAULTS                        1

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS                        1

    /* Use CTRL+TAB instead of TAB */
    #define USE_CTRL_TAB                            1

#elif HTC_TOUCH_HD_BUILD || HTC_TOUCH_HD_DEBUG_BUILD
    /************************************************************************ */
    /* HTC_TOUCH_HD_BUILD || HTC_TOUCH_HD_DEBUG_BUILD */
    /************************************************************************ */
    #define FINGER_BUILD                1
    #define FILTERING_BUILD             1
    #define IGNORE_ERRATIC_MOUSE_DOWN   1
    #define FINER_DATA_BUILD            1
    #define SMOOTH_RAW_DATA             1
    /*  #define SMOOTHER_RAW_DATA           1 */

    /* The following will display the bogus mouse data points as red dots (when they are within the boundaries of the */
    /*   keyboard), so that the user can be aware of what is actually going on with the processing. */
    #if HTC_TOUCH_HD_DEBUG_BUILD
        #define ENABLE_DEBUG_BUILD                  1
        #define SHOW_ERRATIC_MOUSE_DATA             1
        #define DEBUG_ERRATIC_MOUSE_DATA            1
        /*      #define DEBUG_PENDING_MOUSE_DATA            1 */
        /*      #define OUTPUT_RAW_MOUSE_DATA               1 */
        /*      #define OUTPUT_ERRATIC_MOUSE_DATA           1 */
        /*      #define DEBUG_GENERATE_ERRATIC_MOUSE_DATA   1 */
    #endif

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS                        0

#elif SYMREF_BUILD /* From ProjectBuild.h */
    /************************************************************************ */
    /* SYMREF_BUILD */
    /************************************************************************ */
    #include "OemBuildSym.h"

#elif QT_BUILD
    /************************************************************************ */
    /* QT_BUILD */
    /************************************************************************ */
    #include "OemBuildQt.h"
#elif ANDROID_BUILD
    /************************************************************************ */
    /* ANDROID_BUILD */
    /************************************************************************ */
    #ifndef     USE_HWCL_DEFAULT
        #define USE_HWCL_DEFAULT                            1
    #endif

    #if !defined(TIME_LIMITED_RELEASE)
        #define TIME_LIMITED_RELEASE                        0
    #endif

    #if TIME_LIMITED_RELEASE && ! defined(CHECK_LICENSE_FILE)
        /* when time limited is turned on, we don't have license file, hence we */
        /* must turn off license checking */
        #define CHECK_LICENSE_FILE                          0
    #else
        #if HEADLESS_API && defined(CHECK_LICENSE_FILE)
            /* leave the value defined for the Middleware API */
        #else
            #define CHECK_LICENSE_FILE                      1
        #endif
    #endif

    #define FINGER_BUILD                            1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    #if REFERENCE_DEBUG_BUILD
        #define ENABLE_DEBUG_BUILD                  1
        /*      #define SHOW_ERRATIC_MOUSE_DATA             1 */
        /*      #define DEBUG_ERRATIC_MOUSE_DATA            1 */
        /*      #define DEBUG_PENDING_MOUSE_DATA            1 */
        /*      #define OUTPUT_RAW_MOUSE_DATA               1 */
        /*      #define OUTPUT_ERRATIC_MOUSE_DATA           1 */
        /*      #define DEBUG_GENERATE_ERRATIC_MOUSE_DATA   1 */
    #endif

    /* Defines user option defaults and various color values */
    #define USE_ANDROID_DEFAULTS                      1

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS                        1

    #define SHOW_LANGAUGE_LIST_AS_WCW       0
    #define STATEMACHINE_RUNS_IN_UI_THREAD  0
    #define  KEEP_BACKEND_ALIVE_ON_HIDING   1
    /* speed up UI start up time */
    #define START_BACKEND_ASYNCHRONOUSLY            1

    /* case 2068: It doesn't support pressing keyboard quickly to input */
    #define DO_NOT_MERGE_ANY_TAPS  1

    /* When GET_LANGUAGE_LIST_FROM_CONFIG_FILE is true, the list of languages is listed */
    /* in the languages.lst file, and we do not list files in the base_dir */
    #define GET_LANGUAGE_LIST_FROM_CONFIG_FILE 1

    #define LIMIT_TAP_WCW_TO_SINGLE_PAGE        0           /* Limit tap predictions to single page (with no "More" button) */
    #define ALLOW_SLOPPY_PREDICTIVE_TAPPING     1           /* Allow sloppier tapping when predictive tap is enabled. */

    #define USE_TOAST_TIPS                      1           /* Use Toast pop-ups for tips instead of HTML */
    #if !defined(ENABLE_TIP_INIT)
        #define ENABLE_TIP_INIT                 1           /* Because we're using Toast, don't use old-school tip indicator */
    #endif

#elif SAMSUNG_SPACE_BUILD
    /************************************************************************ */
    /* SAMSUNG_SPACE_BUILD */
    /************************************************************************ */
    #if !defined(TIME_LIMITED_RELEASE)
    #define     TIME_LIMITED_RELEASE                1
    #endif

    #define DEFAULT_LANGUAGE_NAME TEXT("EnglishUS")

    #define IGNORE_SWYPE_KEY_SHIFT                  1
    #define BLUE_LAYER_USES_PAGING                  1
    #define SYM_PAGES_COUNT                         2

    #define FINGER_BUILD                            1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    #if REFERENCE_DEBUG_BUILD
        #define ENABLE_DEBUG_BUILD                  1
        /*      #define SHOW_ERRATIC_MOUSE_DATA             1 */
        /*      #define DEBUG_ERRATIC_MOUSE_DATA            1 */
        /*      #define DEBUG_PENDING_MOUSE_DATA            1 */
        /*      #define OUTPUT_RAW_MOUSE_DATA               1 */
        /*      #define OUTPUT_ERRATIC_MOUSE_DATA           1 */
        /*      #define DEBUG_GENERATE_ERRATIC_MOUSE_DATA   1 */
    #endif

    #define USE_SAMSUNG_DEFAULTS                      1

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS                        1
    #define FLOORL_NOT_SUPPORTED                    1
    /* speed up UI start up time */
    #define START_BACKEND_ASYNCHRONOUSLY            1

    /* make sure it's off on release builds. */
    /* #define LOGGING      0   // must be done somewhere for the log to be output */

    /* This should be changed to 1 once we have made the necessary changes on Samsung side */
    #define STATEMACHINE_RUNS_IN_UI_THREAD  0

#elif SAMSUNG_LINUX_PLATFORM
    /************************************************************************ */
    /* SAMSUNG LINUX BUILD */
    /************************************************************************ */

    /* Never expires */
        #define TIME_LIMITED_RELEASE                        0

    /* Do not check license file */
        #define CHECK_LICENSE_FILE                          0

    #define FINGER_BUILD                            1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    #if REFERENCE_DEBUG_BUILD
        #define ENABLE_DEBUG_BUILD                  1
        /*      #define SHOW_ERRATIC_MOUSE_DATA             1 */
        /*      #define DEBUG_ERRATIC_MOUSE_DATA            1 */
        /*      #define DEBUG_PENDING_MOUSE_DATA            1 */
        /*      #define OUTPUT_RAW_MOUSE_DATA               1 */
        /*      #define OUTPUT_ERRATIC_MOUSE_DATA           1 */
        /*      #define DEBUG_GENERATE_ERRATIC_MOUSE_DATA   1 */
    #endif

    /* Defines user option defaults and various color values */
    #define USE_ANDROID_DEFAULTS                      1

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS                        1

    #define SHOW_LANGAUGE_LIST_AS_WCW       0

    /* Use Pull driven drawing */
    #define  STATEMACHINE_RUNS_IN_UI_THREAD      1
    #define  KEEP_BACKEND_ALIVE_ON_HIDING   1
    /* speed up UI start up time */
    #define START_BACKEND_ASYNCHRONOUSLY            1

    /* case 2068: It doesn't support pressing keyboard quickly to input */
    #define DO_NOT_MERGE_ANY_TAPS  1

    /* When GET_LANGUAGE_LIST_FROM_CONFIG_FILE is true, the list of languages is listed */
    /* in the languages.lst file, and we do not list files in the base_dir */
    #define GET_LANGUAGE_LIST_FROM_CONFIG_FILE 1
#elif BREW_MP_BUILD
    /************************************************************************ */
    /* BREW_MP_BUILD */
    /************************************************************************ */
    #define USE_GLOW_AS_TEMPORARY_HIGHLIGHT         1

    #if !defined(TIME_LIMITED_RELEASE)
        #define TIME_LIMITED_RELEASE                1
    #endif

    #define HAS_OEM_THREAD_LIBRARY
    #undef _MSC_VER

    /* ------------------------------------------------------------------ */
    /* Color values */
    /* ------------------------------------------------------------------ */

    /* Define the Word Choice Window colors, assuming the background is bright. */
    /* Here the text color is all in Black */
    #define     SWYPELIST_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     SWYPELIST_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     SWYPELIST_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_DARK_GREEN

    #define     EDITLIST_BACKGROUND_COLOR_BITMAP    SWOS::COLOR_TRANSPARENT
    #define     EDITLIST_LINE_PEN                   SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_BORDER_PEN                 SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_TEXT_COLOR_BITMAP          SWOS::COLOR_BLACK
    #define     EDITLIST_TEXT_COLOR_FIRST_BITMAP    SWOS::COLOR_BLACK

    #define     CHARPOPUP_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     CHARPOPUP_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     CHARPOPUP_BORDER_PEN                SWOS::COLOR_POPUP_BORDER
    #define     CHARPOPUP_TEXT_COLOR                SWOS::COLOR_WHITE
    #define     CHARPOPUP_TEXT_COLOR_FIRST          SWOS::COLOR_WHITE

    #define     DIACRITIC_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     DIACRITIC_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     DIACRITIC_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_BLACK

    /* Define the Word Choice Window colors, assuming the background is dark. */
    /* Here the text color is all in White */
    #define     SWYPELIST_TEXT_COLOR_BITMAP_DARK         SWOS::COLOR_WHITE
    #define     SWYPELIST_TEXT_COLOR_FIRST_BITMAP_DARK   SWOS::COLOR_TRACE

    #define     EDITLIST_TEXT_COLOR_BITMAP_DARK          SWOS::COLOR_WHITE
    #define     EDITLIST_TEXT_COLOR_FIRST_BITMAP_DARK    SWOS::COLOR_WHITE

    #define     DIACRITIC_TEXT_COLOR_BITMAP_DARK         SWOS::COLOR_WHITE
    #define     DIACRITIC_TEXT_COLOR_FIRST_BITMAP_DARK   SWOS::COLOR_WHITE

#elif SWYPE_CONSOLE_BUILD
    /************************************************************************ */
    /* SWYPE_CONSOLE_BUILD */
    /************************************************************************ */
    #if !defined(TIME_LIMITED_RELEASE)
        #define TIME_LIMITED_RELEASE                1
    #endif

    #if defined(_WIN32)
        /* When this flag is set, the state machine does not attempt to repair double-taps. */
        #define DO_NOT_MERGE_ANY_TAPS                   1
        #define USE_GLOW_AS_TEMPORARY_HIGHLIGHT         1
        #ifndef CHINESE_IME
            #define CHINESE_IME                         0
        #endif
        #ifndef CHINESE_SPELL_CORRECTION
            #define CHINESE_SPELL_CORRECTION            1
        #endif
        #ifndef JAPANESE_IME
            #define JAPANESE_IME                        0
        #endif
        #ifndef JAPANESE_SPELL_CORRECTION
            #define JAPANESE_SPELL_CORRECTION           1
        #endif
    #endif

    #define FINGER_BUILD                                1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    #if !defined(SWYPE_CPUTEST_TASKTIME_MSEC)
        /* The SWYPE_CPUTEST_TASKTIME_MSEC value of 337 calculates to a */
        /* Z1OperationDefault and Z1OperationSetting value of 333 */
        /* which matches the "default" level used for the settings slider */
        #define SWYPE_CPUTEST_TASKTIME_MSEC             337
    #endif

    #if REFERENCE_DEBUG_BUILD
        #define ENABLE_DEBUG_BUILD                  1
        /*      #define SHOW_ERRATIC_MOUSE_DATA             1 */
        /*      #define DEBUG_ERRATIC_MOUSE_DATA            1 */
        /*      #define DEBUG_PENDING_MOUSE_DATA            1 */
        /*      #define OUTPUT_RAW_MOUSE_DATA               1 */
        /*      #define OUTPUT_ERRATIC_MOUSE_DATA           1 */
        /*      #define DEBUG_GENERATE_ERRATIC_MOUSE_DATA   1 */
    #endif

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS            1

    /* Start the backend thread asynchronously and keep it alive */
    #define STATEMACHINE_RUNS_IN_UI_THREAD  0
    #define START_BACKEND_ASYNCHRONOUSLY    1
    #define KEEP_BACKEND_ALIVE_ON_HIDING    0
#elif IPHONE_BUILD
    /************************************************************************ */
    /* IPHONE_BUILD */
    /************************************************************************ */
    #if !defined(TIME_LIMITED_RELEASE)
    #define TIME_LIMITED_RELEASE                        1
    #endif

    #if TIME_LIMITED_RELEASE && ! defined(CHECK_LICENSE_FILE)
    /* when time limited is turned on, we don't have license file, hence we */
    /* must turn off license checking */
    #define CHECK_LICENSE_FILE                          0
    #else
    #define CHECK_LICENSE_FILE                          1
    #endif

    #define FINGER_BUILD                            1
    /*  #define FILTERING_BUILD                         1 */
    /*  #define IGNORE_ERRATIC_MOUSE_DOWN               1 */
    /*  #define FINER_DATA_BUILD                        1 */
    /*  #define SMOOTH_RAW_DATA                         1 */
    /*  #define SMOOTHER_RAW_DATA                       1 */

    #if REFERENCE_DEBUG_BUILD
    #define ENABLE_DEBUG_BUILD                  1
    /*      #define SHOW_ERRATIC_MOUSE_DATA             1 */
    /*      #define DEBUG_ERRATIC_MOUSE_DATA            1 */
    /*      #define DEBUG_PENDING_MOUSE_DATA            1 */
    /*      #define OUTPUT_RAW_MOUSE_DATA               1 */
    /*      #define OUTPUT_ERRATIC_MOUSE_DATA           1 */
    /*      #define DEBUG_GENERATE_ERRATIC_MOUSE_DATA   1 */
    #endif

    /* Defines user option defaults and various color values */
    #define USE_ANDROID_DEFAULTS                      1

    /* Turns on auto-repeat behavior for qualifying keys (initially, this is only the BackSpace key) */
    #define AUTO_REPEAT_KEYS                        1

    #define SHOW_LANGAUGE_LIST_AS_WCW       0
    #define STATEMACHINE_RUNS_IN_UI_THREAD  1
    #define  KEEP_BACKEND_ALIVE_ON_HIDING   1
    /* speed up UI start up time */
    #define START_BACKEND_ASYNCHRONOUSLY            1

    /* case 2068: It doesn't support pressing keyboard quickly to input */
    #define DO_NOT_MERGE_ANY_TAPS  1

    /* When GET_LANGUAGE_LIST_FROM_CONFIG_FILE is true, the list of languages is listed */
    /* in the languages.lst file, and we do not list files in the base_dir */
    #define GET_LANGUAGE_LIST_FROM_CONFIG_FILE      0
#elif SCOREWORDAPI_BUILD
    /* This is a very minimal set of core code for initial xT9 integration. */
    #define SCOREWORD_API                           1

    #define TIME_LIMITED_RELEASE                    0
    #define NAIVE_INITIAL_ARRAY_CAPACITY_LARGE      1500
    #define NAIVE_INITIAL_ARRAY_CAPACITY_SMALL      100
    #define ARRAY_CAPACITY_LARGE                    1500
    #define ARRAY_CAPACITY_SMALL                    150

#ifdef ET9_DEBUG
    #define LOGGING                                 0
    #define DEBUG_OUTPUT_TO_FILE                    0
#endif

    /* TODO: Re-implement, once using frequency is shown to improve scores */
    #define TBD_ADJUST_FREQUENCY_WEIGHTS            0

#else
    #error No target device was defined in ProjectBuild.h
    #if !defined(TIME_LIMITED_RELEASE)
    #define     TIME_LIMITED_RELEASE                1
    #endif
#endif


#if USE_SAMSUNG_DEFAULTS

    #if !defined(DEFAULT_LANGUAGE_NAME)
        #define DEFAULT_LANGUAGE_NAME TEXT("EnglishUS")
    #endif

    /* Define values to initialize User option settings for Samsung Omnia II Build */
    #define SHOW_BLUE_CHARS_INIT        2 /* 0: don't show. 1: Respect UDB. 2: Always on despite UDB. */
    #define ENABLE_RUBBING_INIT         0
    #define ENABLE_TIP_INIT             1
    #define ENABLE_WORD_SUGGESTION_INIT      USE_HWCL_DEFAULT  /* by default, enable word suggestion  */
    #define ENABLE_AUTO_CORRECTION_INIT      USE_HWCL_DEFAULT  /* by default, enable auto correction  */
    #define ENABLE_SHOW_SUGGESTED_WORD_INIT  0  /* by default, do not show suggested word  */
    #define ENABLE_WORD_COMPLETION_INIT      0  /* by default, disable word completion  */
    #define AUTO_SPACE_INIT             1
    #define USE_TAPSWYPE_KB_INIT        0
    #define USE_ALT_TAP_ENTRY_INIT      1
    #define SHOW_IPS_INIT               0
    #if !defined(AUTO_CAPS_INIT)
        #define AUTO_CAPS_INIT          1
    #endif

    #define SHOW_DIACRITICS_INTERVAL    SHOW_DIACRITICS_INTERVAL_DEFAULT
    #define SHOW_POPUP_INTERVAL         SHOW_POPUP_INTERVAL_DEFAULT

    #define USE_SAMSUNG_COLORS                                      1

    /* Properties page can have some of the options hidden */
    #define HIDE_HELP_LANGUAGE_OPTION                               1
    #define HIDE_TAPSWYPE_KEYBOARD_OPTION                           1
    #define HIDE_ENABLE_RUBBING_OPTION                              1
    #define HIDE_BLUE_CHARACTERS_OPTION                             1
    #define HIDE_TRACK_STATS_OPTION                                 1
    #if !defined(HIDE_AUTO_CAPS_OPTION)
        #define HIDE_AUTO_CAPS_OPTION                               0
    #endif

    #define SHOW_CUSTOM_BUILD_MESSAGE                               0   /* Show nature of build parameters on About screen */
    #define SHOW_SVN_REVISION                                       1   /* Display the Subversion revision number in about text */

    #ifndef     CHANGE_KEYBOARD_BACKGROUND_COLOR
        #define CHANGE_KEYBOARD_BACKGROUND_COLOR                    1
    #endif

    #define CHANGE_KEYBOARD_BACKGROUND_COLOR_FOR_WCL                0   /* modify the keyboard background color based on the relative scores of the top two words in the WCW */
    #define SHOW_TUTORIAL_ON_FIRST_USE                              0
    #define PROMPT_FOR_USER_LANGUAGE_ON_FIRST_USE                   0
    #define SET_INTERFACE_LANGUAGE_AUTOMATICALLY                    1   /* only works if prompt user above is off */
    #define SHOW_EULA_DURING_INSTALL                                0
    #define REBOOT_DURING_UNINSTALL                                 1
    #define PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN                     1
    #define IGNORE_SWYPE_KEY_SHIFT                                  1
    #define PRESS_HOLD_SHIFT_KEY_FOR_SHIFTED_FN                     1
    #define STUPID_SHIFT_BEHAVIOR                                   1

    #define NO_SHIFTED_BLUE_ON_MAIN_LAYER                           1
    #define NO_SHIFTED_NUMERIC_KB                                   1
    #define NO_SHIFTED_EDITING_KB                                   1
    #define BLUE_LAYER_USES_PAGING                                  1
    #define SYM_PAGES_COUNT                                         2

    /* Enable limits on usage time period and/or device locking */
    #if !defined(TIME_LIMITED_RELEASE)
        #define TIME_LIMITED_RELEASE                        0
    #endif
    /* Define DEBUG_ENABLE_STATISTICS to enable tracking and output of Swype usage statistics. */
    #define DEBUG_ENABLE_STATISTICS                                     1
    /* Statistical tracking defaults to OFF (AUTO_START_STATISTICS *not* #define'd). User must turn on in options. */
    #define AUTO_START_STATISTICS                                 0   /* Turns on statistical tracking as soon as Z1 is first started */
    #define AUTO_RESTART_STATISTICS                               0   /* If statistical tracking is paused, turns tracking back on if more than RESTART_TRACKING_IDLE_TIME msec. */
                                                                        /*   elapse with no Z1 word generated */
#elif USE_HTC_DEFAULTS

    #define DEFAULT_LANGUAGE_NAME TEXT("EnglishUS")

    /* Define values to initialize User option settings for HTC BlackBird Build */
    #define SHOW_BLUE_CHARS_INIT        2 /* 0: don't show. 1: Respect UDB. 2: Always on despite UDB. */
    #define ENABLE_RUBBING_INIT         0
    #define ENABLE_TIP_INIT             1
    #define ENABLE_WORD_SUGGESTION_INIT      USE_HWCL_DEFAULT  /* by default, enable word suggestion  */
    #define ENABLE_AUTO_CORRECTION_INIT      USE_HWCL_DEFAULT  /* by default, enable auto correction  */
    #define ENABLE_SHOW_SUGGESTED_WORD_INIT  0  /* by default, do not show suggested word   */
    #define ENABLE_WORD_COMPLETION_INIT      0  /* by default, disable word completion */
    #define AUTO_SPACE_INIT             1
    #define USE_TAPSWYPE_KB_INIT        0
    #define USE_ALT_TAP_ENTRY_INIT      1
    #define SHOW_IPS_INIT               0
    #define AUTO_CAPS_INIT              0

    #define SHOW_DIACRITICS_INTERVAL    SHOW_DIACRITICS_INTERVAL_DEFAULT
    #define SHOW_POPUP_INTERVAL         SHOW_POPUP_INTERVAL_DEFAULT

    #define USE_SAMSUNG_COLORS                  1

    /* Properties page can have some of the options hidden */
    #define HIDE_HELP_LANGUAGE_OPTION                   1
    #define HIDE_TAPSWYPE_KEYBOARD_OPTION               1
    #define HIDE_BLUE_CHARACTERS_OPTION                 1
    #define HIDE_ENABLE_RUBBING_OPTION                  1
    #define HIDE_TRACK_STATS_OPTION                     1
    #define HIDE_AUTO_CAPS_OPTION                       1

    #define SHOW_CUSTOM_BUILD_MESSAGE                   0   /* Show nature of build parameters on About screen */
    #define SHOW_SVN_REVISION                           1   /* Display the Subversion revision number in about text */

    #ifndef     CHANGE_KEYBOARD_BACKGROUND_COLOR
        #define CHANGE_KEYBOARD_BACKGROUND_COLOR        1
    #endif

    #define CHANGE_KEYBOARD_BACKGROUND_COLOR_FOR_WCL    0   /* modify the keyboard background color based on the relative scores of the top two words in the WCW */
    #define SHOW_TUTORIAL_ON_FIRST_USE                  0
    #define PROMPT_FOR_USER_LANGUAGE_ON_FIRST_USE       0
    #define SET_INTERFACE_LANGUAGE_AUTOMATICALLY        1   /* only works if prompt user above is off */
    #define SHOW_EULA_DURING_INSTALL                    0
    #define REBOOT_DURING_UNINSTALL                     1

    #define PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN                     1
    #define PRESS_HOLD_SHIFT_KEY_FOR_SHIFTED_FN                     1

    /* Enable limits on usage time period and/or device locking */
    #if !defined(TIME_LIMITED_RELEASE)
        #define TIME_LIMITED_RELEASE                        0
    #endif

    /* Define DEBUG_ENABLE_STATISTICS to enable tracking and output of Swype usage statistics. */
    #define DEBUG_ENABLE_STATISTICS                           1
    /* Statistical tracking defaults to ON (AUTO_START_STATISTICS *is* #define'd). User must turn OFF in options to disable. */
    #define AUTO_START_STATISTICS                       0   /* Turns on statistical tracking as soon as Z1 is first started */
    #define AUTO_RESTART_STATISTICS                     0   /* If statistical tracking is paused, turns tracking back on if more than RESTART_TRACKING_IDLE_TIME msec */
                                                                /*   elapse with no Z1 word generated */

    #define NO_SHIFTED_BLUE_ON_MAIN_LAYER               0
    #define NO_SHIFTED_NUMERIC_KB                       1
    #define NO_SHIFTED_EDITING_KB                       1
    #define BLUE_LAYER_USES_PAGING                      0
    #define SYM_PAGES_COUNT                             0

#elif USE_ANDROID_DEFAULTS

    #ifndef     USE_HWCL_DEFAULT
        #define USE_HWCL_DEFAULT                                1
    #endif
    /* Define values to initialize User option settings for Android Build */
    #define SHOW_BLUE_CHARS_INIT        2 /* 0: don't show. 1: Respect UDB. 2: Always on despite UDB. */
    #define ENABLE_RUBBING_INIT         0
    #define ENABLE_WORD_SUGGESTION_INIT      1  /* by default, enable word suggestion  */
    #define ENABLE_AUTO_CORRECTION_INIT      1  /* by default, enable auto correction  */
    #define ENABLE_SHOW_SUGGESTED_WORD_INIT  0  /* by default, do not show suggested word  */
    #define ENABLE_WORD_COMPLETION_INIT      0  /* by default, disable word completion  */
    #define AUTO_SPACE_INIT             1
    #define USE_TAPSWYPE_KB_INIT        0
    #define USE_ALT_TAP_ENTRY_INIT      1
    #define SHOW_IPS_INIT               0
    #define AUTO_CAPS_INIT              1

    #define SHOW_DIACRITICS_INTERVAL    SHOW_DIACRITICS_INTERVAL_DEFAULT
    #define SHOW_POPUP_INTERVAL         SHOW_POPUP_INTERVAL_DEFAULT


    /* ------------------------------------------------------------------ */
    /* Color values */
    /* ------------------------------------------------------------------ */

    /* Define the Word Choice Window colors, assuming the background is bright. */
    /* Here the text color is all in Black */
    #define     SWYPELIST_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     SWYPELIST_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     SWYPELIST_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_DARK_GREEN

    #define     EDITLIST_BACKGROUND_COLOR_BITMAP    SWOS::COLOR_TRANSPARENT
    #define     EDITLIST_LINE_PEN                   SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_BORDER_PEN                 SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_TEXT_COLOR_BITMAP          SWOS::COLOR_BLACK
    #define     EDITLIST_TEXT_COLOR_FIRST_BITMAP    SWOS::COLOR_BLACK

    #define     CHARPOPUP_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     CHARPOPUP_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     CHARPOPUP_BORDER_PEN                SWOS::COLOR_POPUP_BORDER
    #define     CHARPOPUP_TEXT_COLOR                SWOS::COLOR_BLACK
    #define     CHARPOPUP_TEXT_COLOR_FIRST          SWOS::COLOR_BLACK

    #define     DIACRITIC_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     DIACRITIC_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     DIACRITIC_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_BLACK

    /* Define the Word Choice Window colors, assuming the background is dark. */
    /* Here the text color is all in White */
    #define     SWYPELIST_TEXT_COLOR_BITMAP_DARK         SWOS::COLOR_WHITE
    #define     SWYPELIST_TEXT_COLOR_FIRST_BITMAP_DARK   SWOS::COLOR_TRACE

    #define     EDITLIST_TEXT_COLOR_BITMAP_DARK          SWOS::COLOR_WHITE
    #define     EDITLIST_TEXT_COLOR_FIRST_BITMAP_DARK    SWOS::COLOR_WHITE

    #define     DIACRITIC_TEXT_COLOR_BITMAP_DARK         SWOS::COLOR_WHITE
    #define     DIACRITIC_TEXT_COLOR_FIRST_BITMAP_DARK   SWOS::COLOR_WHITE

    #define     CHARPOPUP_TEXT_COLOR_DARK                SWOS::COLOR_WHITE
    #define     CHARPOPUP_TEXT_COLOR_FIRST_DARK          SWOS::COLOR_WHITE

    #define     PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN                     0

    /* Properties page can have some of the options hidden */
    #define HIDE_HELP_LANGUAGE_OPTION                   1
    #define HIDE_TAPSWYPE_KEYBOARD_OPTION               0
    #define HIDE_BLUE_CHARACTERS_OPTION                 0
    #define HIDE_ENABLE_RUBBING_OPTION                  1
    #define HIDE_TRACK_STATS_OPTION                     1
    #define HIDE_AUTO_CAPS_OPTION                       0

    #define SHOW_CUSTOM_BUILD_MESSAGE                   0   /* Show nature of build parameters on About screen */
    #define SHOW_SVN_REVISION                           1   /* Display the Subversion revision number in about text */

    #define CHANGE_KEYBOARD_BACKGROUND_COLOR        1

    /*  #define CHANGE_KEYBOARD_BACKGROUND_COLOR_FOR_WCL    1   // modify the keyboard background color based on the relative scores of the top two words in the WCW */
    /*  #define SHOW_TUTORIAL_ON_FIRST_USE                  1 */
    /*  #define PROMPT_FOR_USER_LANGUAGE_ON_FIRST_USE       0 */
    #define SET_INTERFACE_LANGUAGE_AUTOMATICALLY        1   /* only works if prompt user above is off */
    /*  #define SHOW_EULA_DURING_INSTALL                    1 */
    /* The following flags, when on, cause a press-hold (or equivalently a rubbing activation, if enabled) to cause the triggered function to be the Shifted function on the */
    /*   main layer, rather than the Blue layer function.  This often makes sense when the function displayed at the top of the key is the Shifted main-layer function (rather */
    /*   than the Blue layer function), and/or when there are distinct sets of functions assigned to the Main layer and the Blue layer for a key. */
    #if !defined(PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN)
        #define PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN                     1
    #endif

    #define PRESS_HOLD_SHIFT_KEY_FOR_SHIFTED_FN                     1

    /* Define DEBUG_ENABLE_STATISTICS to enable tracking and output of Swype usage statistics. */
    #define DEBUG_ENABLE_STATISTICS                           0
    /* Statistical tracking defaults to ON (AUTO_START_STATISTICS *is* #define'd). User must turn OFF in options to disable. */
    #define AUTO_START_STATISTICS                       0   /* Turns on statistical tracking as soon as Z1 is first started */
    #define AUTO_RESTART_STATISTICS                     0   /* If statistical tracking is paused, turns tracking back on if more than RESTART_TRACKING_IDLE_TIME msec */
                                                        /*   elapse with no Z1 word generated */
    #define NO_SHIFTED_NUMERIC_KB                       1
    #define NO_SHIFTED_EDITING_KB                       1

    #define USE_SAMSUNG_COLORS                          0
#elif SYMREF_BUILD
    /* */
#else

    /* Define the Word Choice Window colors, assuming the background is bright. */
    /* Here the text color is all in Black */
    #define     SWYPELIST_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     SWYPELIST_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     SWYPELIST_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_DARK_GREEN

    #define     EDITLIST_BACKGROUND_COLOR_BITMAP    SWOS::COLOR_TRANSPARENT
    #define     EDITLIST_LINE_PEN                   SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_BORDER_PEN                 SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_TEXT_COLOR_BITMAP          SWOS::COLOR_BLACK
    #define     EDITLIST_TEXT_COLOR_FIRST_BITMAP    SWOS::COLOR_BLACK

    #define     CHARPOPUP_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     CHARPOPUP_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     CHARPOPUP_BORDER_PEN                SWOS::COLOR_POPUP_BORDER
    #define     CHARPOPUP_TEXT_COLOR                SWOS::COLOR_WHITE
    #define     CHARPOPUP_TEXT_COLOR_FIRST          SWOS::COLOR_WHITE

    #define     DIACRITIC_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     DIACRITIC_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     DIACRITIC_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_BLACK

    /* Define the Word Choice Window colors, assuming the background is dark. */
    /* Here the text color is all in White */
    #define     SWYPELIST_TEXT_COLOR_BITMAP_DARK         SWOS::COLOR_WHITE
    #define     SWYPELIST_TEXT_COLOR_FIRST_BITMAP_DARK   SWOS::COLOR_TRACE

    #define     EDITLIST_TEXT_COLOR_BITMAP_DARK          SWOS::COLOR_WHITE
    #define     EDITLIST_TEXT_COLOR_FIRST_BITMAP_DARK    SWOS::COLOR_WHITE

    #define     DIACRITIC_TEXT_COLOR_BITMAP_DARK         SWOS::COLOR_WHITE
    #define     DIACRITIC_TEXT_COLOR_FIRST_BITMAP_DARK   SWOS::COLOR_WHITE

#endif  /* Various default sets. */

/* When GET_LANGUAGE_LIST_FROM_CONFIG_FILE is true, the list of languages is defined */
/* in a config file. */
#ifndef GET_LANGUAGE_LIST_FROM_CONFIG_FILE
#define GET_LANGUAGE_LIST_FROM_CONFIG_FILE 0
#endif


/* Block of defaults for defines which might control other defines. */
#if !defined(DEFAULT_LANGUAGE_NAME) && (! GET_LANGUAGE_LIST_FROM_CONFIG_FILE)
    #define DEFAULT_LANGUAGE_NAME TEXT("EnglishUS")
#endif

/* Define values to initialize User option settings for Reference Build */
#ifndef SHOW_BLUE_CHARS_INIT
    #define SHOW_BLUE_CHARS_INIT        2 /* 0: don't show. 1: Respect UDB. 2: Always on despite UDB. */
#endif
#ifndef ENABLE_RUBBING_INIT
    #define ENABLE_RUBBING_INIT         0
#endif
#ifndef ENABLE_TIP_INIT
    #define ENABLE_TIP_INIT             1
#endif
#ifndef USE_TOAST_TIPS
    #define USE_TOAST_TIPS              0
#endif


#ifndef ENABLE_WORD_SUGGESTION_INIT
    #define ENABLE_WORD_SUGGESTION_INIT      USE_HWCL_DEFAULT  /* by default, enable word suggestion  */
#endif
#ifndef ENABLE_AUTO_CORRECTION_INIT
    #define ENABLE_AUTO_CORRECTION_INIT      USE_HWCL_DEFAULT  /* by default, enable auto correction  */
#endif
#ifndef ENABLE_SHOW_SUGGESTED_WORD_INIT
    #define ENABLE_SHOW_SUGGESTED_WORD_INIT  0  /* by default, do not show suggested word  */
#endif
#ifndef ENABLE_WORD_COMPLETION_INIT
    #define ENABLE_WORD_COMPLETION_INIT      0  /* by default, disable word completion  */
#endif


/* This flag triggers the use of the ChoiceListControllerHWCL for the UDB addition query */
/* even if the rest of the HWCL is disabled by the BOB configuration. If off, a pop-up is */
/* used from the ChoiceListControllerDeluxe for the UDB query. */
#ifndef USE_HWCL_FOR_UDB_QUERY
    #define USE_HWCL_FOR_UDB_QUERY          1
#endif

/* This flag makes the core do the old UI of using a Yes/No message box to prompt the */
/* user to remove a UDB word. If off, it uses the same UDB "toast" as the UDB add word. */
/* Once we have the shorter strings translated in all 40 langs we can turn this off to */
/* use the Deluxe/HWCL UDB query. */
#ifndef USE_MSGBOX_FOR_UDB_QUERY_REMOVE
    #define USE_MSGBOX_FOR_UDB_QUERY_REMOVE 1
#endif

/* This flag comes from some Windows Desktop development of the HWCL. Look in the .vcproj */
/* files for it's definition, if used. I'm going to encourage removal of this in favor */
/* of using the above two definitions when Barry returns 6/2011. - RichL */
#ifndef HWCL_FOR_WINDOWS_DESKTOP
    #define HWCL_FOR_WINDOWS_DESKTOP        0
#endif
#if HWCL_FOR_WINDOWS_DESKTOP
    #define USE_HWCL_FOR_UDB_QUERY          1   /* if HWCL for Windows, you gotta have these on too */
    #define USE_MSGBOX_FOR_UDB_QUERY_REMOVE 1
#endif


#ifndef AUTO_SPACE_INIT
    #define AUTO_SPACE_INIT             1
#endif
#ifndef USE_TAPSWYPE_KB_INIT
    #define USE_TAPSWYPE_KB_INIT        0
#endif
#ifndef USE_ALT_TAP_ENTRY_INIT
    #define USE_ALT_TAP_ENTRY_INIT      1
#endif
#ifndef SHOW_IPS_INIT
    #define SHOW_IPS_INIT               0
#endif
#ifndef AUTO_CAPS_INIT
    #if defined(_WIN32_WCE) || defined(_WIN32)
        #define AUTO_CAPS_INIT          0       /* default off for Windows desktop and Mobile */
    #else
        #define AUTO_CAPS_INIT          1
    #endif
#endif


/*  These are the defaults in UIDefaults.h: */
/*#define DEFAULT_SHOWWCW_LEVEL           600 */
/*#define DEFAULT_Z1_OPERATION_LEVEL      333 */
/*#define WCW_TIMEOUT_DEFAULT             10 */

#ifndef SHOW_DIACRITICS_INTERVAL
    #define SHOW_DIACRITICS_INTERVAL    SHOW_DIACRITICS_INTERVAL_DEFAULT
#endif
#ifndef SHOW_POPUP_INTERVAL
    #define SHOW_POPUP_INTERVAL         SHOW_POPUP_INTERVAL_DEFAULT
#endif
#ifndef USE_SAMSUNG_COLORS
    #define USE_SAMSUNG_COLORS                  1
#endif

/* Change the size of Swype words.  Should probably change makebinzdb.pl so that */
/* a different maximum word size is compiled into LDBs if you change this. */
#define DEFAULT_WORD_SIZE   ET9MAXUDBWORDSIZE

/* Properties page can have some of the options hidden */
#ifndef HIDE_HELP_LANGUAGE_OPTION
    #define HIDE_HELP_LANGUAGE_OPTION                   1
#endif
#ifndef HIDE_TAPSWYPE_KEYBOARD_OPTION
    #define HIDE_TAPSWYPE_KEYBOARD_OPTION               0
#endif
#ifndef HIDE_BLUE_CHARACTERS_OPTION
    #define HIDE_BLUE_CHARACTERS_OPTION                 0
#endif
#ifndef HIDE_ENABLE_RUBBING_OPTION
    #define HIDE_ENABLE_RUBBING_OPTION                  1
#endif
#ifndef HIDE_TRACK_STATS_OPTION
    #define HIDE_TRACK_STATS_OPTION                     1
#endif
#ifndef HIDE_AUTO_CAPS_OPTION
    #if defined(_WIN32_WCE)
        #define HIDE_AUTO_CAPS_OPTION                   1       /* default hidden for Windows Mobile */
    #else
        #define HIDE_AUTO_CAPS_OPTION                   0
    #endif
#endif

#ifndef SHOW_CUSTOM_BUILD_MESSAGE
    #define SHOW_CUSTOM_BUILD_MESSAGE                   0   /* Show nature of build parameters on About screen */
#endif
#ifndef SHOW_SVN_REVISION
    #define SHOW_SVN_REVISION                           1   /* Display the Subversion revision number in about text */
#endif
#ifndef SHOW_BUILD_TIME
    #define SHOW_BUILD_TIME                           1   /* Display the Build Time in about text */
#endif

#ifndef     CHANGE_KEYBOARD_BACKGROUND_COLOR
    #define CHANGE_KEYBOARD_BACKGROUND_COLOR        1
#endif

/*  #define CHANGE_KEYBOARD_BACKGROUND_COLOR_FOR_WCL    1   // modify the keyboard background color based on the relative scores of the top two words in the WCW */
/*  #define SHOW_TUTORIAL_ON_FIRST_USE                  1 */
/*  #define PROMPT_FOR_USER_LANGUAGE_ON_FIRST_USE       0 */
#ifndef SET_INTERFACE_LANGUAGE_AUTOMATICALLY
    #define SET_INTERFACE_LANGUAGE_AUTOMATICALLY        1   /* only works if prompt user above is off */
#endif
#ifndef SHOW_EULA_DURING_INSTALL
    #define SHOW_EULA_DURING_INSTALL                    1
#endif
#ifndef BEEP_ON_IMMEDIATE_ACTIVATION_OF_PRESS_HOLD_FUNCTION
    #define BEEP_ON_IMMEDIATE_ACTIVATION_OF_PRESS_HOLD_FUNCTION     0
#endif
#ifndef AUTO_REPEAT_KEYS
    #define AUTO_REPEAT_KEYS                                        0
#endif

/* The following flags, when on, cause a press-hold (or equivalently a rubbing activation, if enabled) to cause the triggered function to be the Shifted function on the */
/*   main layer, rather than the Blue layer function.  This often makes sense when the function displayed at the top of the key is the Shifted main-layer function (rather */
/*   than the Blue layer function), and/or when there are distinct sets of functions assigned to the Main layer and the Blue layer for a key. */
#if !defined(PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN)
    #define PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN                     1
#endif

#ifndef PRESS_HOLD_SHIFT_KEY_FOR_SHIFTED_FN
    #define PRESS_HOLD_SHIFT_KEY_FOR_SHIFTED_FN                     1
#endif



/* Enable limits on usage time period and/or device locking */
#if !defined(TIME_LIMITED_RELEASE)
    #error You MUST define TIME_LIMITED_RELEASE to be on or off!
#endif

/* Enable checking of the license file */
#ifndef CHECK_LICENSE_FILE
    #define CHECK_LICENSE_FILE                          0
#endif

/* Define DEBUG_ENABLE_STATISTICS to enable tracking and output of Swype usage statistics. */
#ifndef DEBUG_ENABLE_STATISTICS
    #define DEBUG_ENABLE_STATISTICS                           1
#endif

#if DEBUG_DEBUG_ENABLE_STATISTICS
    /* Statistical tracking defaults to ON (AUTO_START_STATISTICS *is* #define'd). User must turn OFF in options to disable. */
    #ifndef AUTO_START_STATISTICS
        #define AUTO_START_STATISTICS                       1   /* Turns on statistical tracking as soon as Z1 is first started */
    #endif
    #ifndef AUTO_RESTART_STATISTICS
        #define AUTO_RESTART_STATISTICS                     1   /* If statistical tracking is paused, turns tracking back on if more than RESTART_TRACKING_IDLE_TIME msec */
    #endif
#endif
                                                        /*   elapse with no Z1 word generated */
#ifndef NO_SHIFTED_NUMERIC_KB
    #define NO_SHIFTED_NUMERIC_KB                       1
#endif
#ifndef NO_SHIFTED_EDITING_KB
    #define NO_SHIFTED_EDITING_KB                       1
#endif
#ifndef FINGER_BUILD
    #define FINGER_BUILD                                1
#endif
/*This macro can be used to Enable or disable a user database .
The limit of the user database can also be defined in dbm.cpp*/
#ifndef UDB_DISABLE
   #define UDB_DISABLE                                  0
#endif


/* Define TRIAGE_APPROACH only for development/testing of alternate filtering algorithm approach */
#ifndef TRIAGE_APPROACH
    #define TRIAGE_APPROACH                             0
#endif

#if USE_SAMSUNG_COLORS

    /* Define the Word Choice Window colors */
    #define     SWYPELIST_BACKGROUND_COLOR          SWOS::COLOR_GREY
    #define     SWYPELIST_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     SWYPELIST_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     SWYPELIST_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_DARK_GREEN
    #define     SWYPELIST_TEXT_COLOR                SWOS::COLOR_THICKSOFTWHITE
    #define     SWYPELIST_TEXT_COLOR_FIRST          SWOS::COLOR_GREEN

    #define     EDITLIST_BACKGROUND_COLOR           SWOS::COLOR_GREY
    #define     EDITLIST_BACKGROUND_COLOR_BITMAP    SWOS::COLOR_TRANSPARENT
    #define     EDITLIST_LINE_PEN                   SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_BORDER_PEN                 SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_TEXT_COLOR_BITMAP          SWOS::COLOR_BLACK
    #define     EDITLIST_TEXT_COLOR_FIRST_BITMAP    SWOS::COLOR_BLACK
    #define     EDITLIST_TEXT_COLOR                 SWOS::COLOR_THICKSOFTWHITE
    #define     EDITLIST_TEXT_COLOR_FIRST           SWOS::COLOR_THICKSOFTWHITE

    #define     CHARPOPUP_BACKGROUND_COLOR          SWOS::COLOR_POPUP_BACKGROUND
    #define     CHARPOPUP_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     CHARPOPUP_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     CHARPOPUP_BORDER_PEN                SWOS::COLOR_POPUP_BORDER
    #define     CHARPOPUP_TEXT_COLOR                SWOS::COLOR_WHITE
    #define     CHARPOPUP_TEXT_COLOR_FIRST          SWOS::COLOR_WHITE

    #define     DIACRITIC_BACKGROUND_COLOR          SWOS::COLOR_GREY
    #define     DIACRITIC_BACKGROUND_COLOR_BITMAP   SWOS::COLOR_TRANSPARENT
    #define     DIACRITIC_LINE_PEN                  SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_BORDER_PEN                SWOS::COLOR_THICKSOFTWHITE
    #define     DIACRITIC_TEXT_COLOR_BITMAP         SWOS::COLOR_BLACK
    #define     DIACRITIC_TEXT_COLOR_FIRST_BITMAP   SWOS::COLOR_BLACK
    #define     DIACRITIC_TEXT_COLOR                SWOS::COLOR_WHITE
    #define     DIACRITIC_TEXT_COLOR_FIRST          SWOS::COLOR_WHITE

#endif

#if PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN || PRESS_HOLD_SHIFT_KEY_FOR_SHIFTED_FN
    #define PRESS_HOLD_KEY_FOR_SHIFTED_FN              1
#endif

/* Define FINGER_ON_RESISTIVE_BUILD to enable set of features deemed appropriate for Samsung Omnia (or other */
/*   resistive touchscreen used for finger touch?) */
/* Define FINGER_ON_RESISTIVE_BUILD to enable processing to recover from a "false" PenUp event. */
/*#define FINGER_ON_RESISTIVE_BUILD             1 */
#if FINGER_BUILD
    #ifndef     FINGER_KEYBOARD
        #define FINGER_KEYBOARD                 1
    #endif
    #ifndef     FINGER_ON_RESISTIVE_BUILD
        #define FINGER_ON_RESISTIVE_BUILD       1
    #endif
#endif

/* Define FILTER_ERRATIC_MOUSE_DATA to reject a mouse data point that suddenly jumps more than a threshold distance */
/*   from the immediately preceding (non-rejected) mouse point. */
/*  #define FILTER_ERRATIC_MOUSE_DATA           1 */
#ifdef     FILTER_ERRATIC_MOUSE_DATA
    #undef FILTER_ERRATIC_MOUSE_DATA
#endif
#ifdef      FILTER_ERRATIC_MOUSE_DATA_FRONT
    #undef FILTER_ERRATIC_MOUSE_DATA_FRONT
#endif
#ifdef      FILTER_ERRATIC_MOUSE_DATA_BACK
    #undef FILTER_ERRATIC_MOUSE_DATA_BACK
#endif

#if FILTERING_BUILD
    #define FILTER_ERRATIC_MOUSE_DATA           1
    #define FILTER_ERRATIC_MOUSE_DATA_FRONT     1
    #define FILTER_ERRATIC_MOUSE_DATA_BACK      0
#else
    #define FILTER_ERRATIC_MOUSE_DATA           0
    #define FILTER_ERRATIC_MOUSE_DATA_FRONT     0
    #define FILTER_ERRATIC_MOUSE_DATA_BACK      0
#endif

/* Define GET_FINER_MOUSE_DATA to try to obtain highest possible mouse data sampling from OS (when supported). */
/*  #define GET_FINER_MOUSE_DATA                1 */
#if FINER_DATA_BUILD
    #if  !defined(PPCDEVICE)
        #error  FINER_DATA_BUILD defined for non-PPC device!
    #endif
    #ifndef     GET_FINER_MOUSE_DATA
        #define GET_FINER_MOUSE_DATA            1
    #endif
#endif

#if FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA && defined(PPCDEVICE)
    #error  Filtering mouse data WITHOUT requesting finer mouse data on PPC device!
#endif


/* Define REPAIR_FALSE_PENUP to detect a sequential pair of PenUp - PenDown events that should be ignored */
/*   (i.e. simply treated as one continuous, uninterrupted path). */
/*  #define REPAIR_FALSE_PENUP                          1 */
/*  #define REPAIR_AT_SCREEN_EDGE_SPECIAL_CASE          1   // If defined, treat false PenUp detected at edge of screen as a special case */

/* Define REPAIR_LOST_SCREEN_CONTACT to attempt to recover from unintended loss of stylus (finger) contact */
/*   anywhere on the screen (not just at screen edges).  NOTE: MUST also #define REPAIR_FALSE_PENUP 1 */
/*  #define REPAIR_LOST_SCREEN_CONTACT                  1 */

/* Define DO_NOT_MERGE_APPARENT_TAPS to prevent very brief contact events from being merged with quickly */
/*   following contact events. */
/*  #define DO_NOT_MERGE_APPARENT_TAPS                  1 */

/* Define   REQUIRE_MINIMUM_RUBBING_TIME to to require minimum time period for key-rubbing gesture */
/*    #define REQUIRE_MINIMUM_RUBBING_TIME              1 */

/* Define STRETCH_MOUSE_DATA_AT_SCREEN_EDGES to stretch out mouse data near edges of screen */
/*  #define STRETCH_MOUSE_DATA_AT_SCREEN_EDGES          1 */

#if FINGER_ON_RESISTIVE_BUILD
    #ifndef     REPAIR_FALSE_PENUP
        #define REPAIR_FALSE_PENUP                      1
    #endif
    #ifndef     REPAIR_AT_SCREEN_EDGE_SPECIAL_CASE
        #define REPAIR_AT_SCREEN_EDGE_SPECIAL_CASE      1
    #endif
    #ifndef     REPAIR_LOST_SCREEN_CONTACT
        #define REPAIR_LOST_SCREEN_CONTACT              1
    #endif
    #ifndef     DO_NOT_MERGE_APPARENT_TAPS
        #define DO_NOT_MERGE_APPARENT_TAPS              1
    #endif
    #ifndef     REQUIRE_MINIMUM_RUBBING_TIME
        #define REQUIRE_MINIMUM_RUBBING_TIME            1
    #endif
/*  #ifndef     SMOOTH_RAW_DATA */
/*      #define SMOOTH_RAW_DATA                         1 */
/*  #endif */
/*  #ifndef     STRETCH_MOUSE_DATA_AT_SCREEN_EDGES */
/*      #define STRETCH_MOUSE_DATA_AT_SCREEN_EDGES      1 */
/*  #endif */
#endif

/* Don't define REPAIR_LOST_SCREEN_CONTACT unless REPAIR_FALSE_PENUP is also defined! */
#if REPAIR_LOST_SCREEN_CONTACT && !REPAIR_FALSE_PENUP
    #error  Must define REPAIR_FALSE_PENUP when defining REPAIR_LOST_SCREEN_CONTACT!
#endif

/* Define SMOOTH_RAW_DATA to apply initial smoothing to raw mouse data before processing.  SMOOTHER_RAW_DATA performs more aggressive smoothing. */
/*   Smoothing may be problematic if the system does not receive "Finer" mouse data */
/*  #define SMOOTH_RAW_DATA                             1 */
/*  #define SMOOTHER_RAW_DATA                           1 */
#if !SMOOTH_RAW_DATA && SMOOTHER_RAW_DATA
    #error  Must define SMOOTH_RAW_DATA when defining SMOOTHER_RAW_DATA!
#endif
#if SMOOTH_RAW_DATA && !GET_FINER_MOUSE_DATA && defined(PPCDEVICE)
    #error  SMOOTH_RAW_DATA was defined without defining GET_FINER_MOUSE_DATA on PPC device - Was this intentional?
#endif

/* Define ENABLE_DIACRITIC_GESTURES to enable gesture below keyboard to indicate intended diacritic character match */
/*#define ENABLE_DIACRITIC_GESTURES                     1 */


#define Z1_EXTERNAL_RELEASE                             1   /* Leave defined for release code.  Zero out for internal testing code. (bar: June 21, 2009 not used?) */


/*================================================================================= */
/* Definitions based on environment. */
/*================================================================================= */

#if DEBUG_ENABLE_STATISTICS
    #define     TRACK_INPUT_SPEED                       1   /* Generates basic code for statistical tracking and reporting of basic words per minute data */

    #ifndef     TRACK_STATISTICS
        #define TRACK_STATISTICS                        1   /* Generates basic code for statistical tracking and reporting */
    #endif

    #ifndef     TRACK_STATISTICS_BY_UNIT
        #define TRACK_STATISTICS_BY_UNIT                1   /* Generates basic code for statistical tracking and reporting that is also analyzed separately for each new unit */
    #endif

    #ifndef     INPUT_SPEED_TO_STATS_FILE
        #define INPUT_SPEED_TO_STATS_FILE               1   /* Output basic words per minute data to text stats file */
    #endif

    #ifndef     OUTPUT_STATS1_FILE
        /* #define OUTPUT_STATS1_FILE                   0 */
    #endif

#endif

#if !SHOW_CUSTOM_BUILD_MESSAGE
        #if OMNIA_I_BUILD
            #define CUSTOM_OPTIONS_NOTE2    "Built for Samsung's Omnia I"
        #elif OMNIA_II_BUILD
            /*#define CUSTOM_OPTIONS_NOTE2    "   Built for the Samsung Omnia II" */
        #elif HTC_BLACKBIRD_BUILD
            /*#define CUSTOM_OPTIONS_NOTE2    "Built for the HTC BlackBird" */
        #elif HTC_TOUCH_HD_BUILD
            #define CUSTOM_OPTIONS_NOTE2    "Built for HTC's Touch HD"
        #elif HTC_TOUCH_HD_DEBUG_BUILD
            #define CUSTOM_OPTIONS_NOTE2    "Built for HTC's Touch HD (Debug build)"
        #elif ANDROID_BUILD
            #define CUSTOM_OPTIONS_NOTE2    "Built for Android!"
        #else
            /*#define CUSTOM_OPTIONS_NOTE2    "Built for OEM's DeviceName" */
            /*#define CUSTOM_OPTIONS_NOTE2    "To buy Swype, http://SwypeInc.com" */
            #define CUSTOM_OPTIONS_NOTE2    "http:/*SwypeInc.com" */
        #endif
#elif SMOOTH_RAW_DATA
    #if !FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter- Finer- Smooth+)"
    #elif !FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter- Finer+ Smooth+)"
    #elif !FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter+ Finer- Smooth+)"
    #elif !FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter+ Finer+ Smooth+)"
    #elif FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter- Finer- Smooth+)"
    #elif FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter- Finer+ Smooth+)"
    #elif FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter+ Finer- Smooth+)"
    #elif FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter+ Finer+ Smooth+)"
    #endif
#else
    #if !FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter- Finer- Smooth-)"
    #elif !FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter- Finer+ Smooth-)"
    #elif !FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter+ Finer- Smooth-)"
    #elif !FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger- Filter+ Finer+ Smooth-)"
    #elif FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter- Finer- Smooth-)"
    #elif FINGER_ON_RESISTIVE_BUILD && !FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter- Finer+ Smooth-)"
    #elif FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && !GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter+ Finer- Smooth-)"
    #elif FINGER_ON_RESISTIVE_BUILD && FILTER_ERRATIC_MOUSE_DATA && GET_FINER_MOUSE_DATA
            #define CUSTOM_OPTIONS_NOTE2    "(Build: Finger+ Filter+ Finer+ Smooth-)"
    #endif
#endif

#define TRIAL_OVER_MESSAGE      "Your trial period has ended.  Please upgrade your copy of Swype."

#if TIME_LIMITED_RELEASE
    #if !defined(Z1_TRIAL_LIMIT_DAYS)
        /*  #define Z1_TRIAL_LIMIT_DEVICE   1           // Limit database to execute only on original installed device */
        #define Z1_TRIAL_LIMIT_DAYS     100         /* Limit Z1 use - When < 365, limit is to N days, */
        /*  #define Z1_TRIAL_LIMIT_DAYS     0x07D90701  //      otherwise limit is a date as specified 0xYYYYMMDD in HEX!. Current val: July 1, 2009 */
                                                /*      Example: May 22, 2005 is returned as 0x07D50516. */
    #endif
    #if !defined(CUSTOM_OPTIONS_NOTE)
        #define CUSTOM_OPTIONS_NOTE     "Evaluation copy - Expires 90 days after build time!"
    #endif
#elif !SHOW_CUSTOM_BUILD_MESSAGE
    #define CUSTOM_OPTIONS_NOTE     "http:/*SwypeInc.com" */
#else
    #define CUSTOM_OPTIONS_NOTE     "Internal testing version ONLY!!"
#endif

#define LICENSE_INVALID_MESSAGE      "This version of Swype has an invalid license and will operate with limited functionality. Beta users please run the installer again. All others contact Swype about this issue."


/* This is to simplify the number of colors we define. When we are not using */
/* polygon based WCW at all, we don't need these color definitions and they can be just */
/* the same as the Bitmap WCW. */

/* We also exclude USE_SAMSUNG_COLORS because the colors are re-defined there. */
#ifndef SWYPELIST_BACKGROUND_COLOR
    #define SWYPELIST_BACKGROUND_COLOR  SWYPELIST_BACKGROUND_COLOR_BITMAP
#endif
#ifndef SWYPELIST_TEXT_COLOR
    #define SWYPELIST_TEXT_COLOR        SWYPELIST_TEXT_COLOR_BITMAP
#endif
#ifndef SWYPELIST_TEXT_COLOR_FIRST
    #define SWYPELIST_TEXT_COLOR_FIRST  SWYPELIST_TEXT_COLOR_FIRST_BITMAP
#endif
#ifndef EDITLIST_BACKGROUND_COLOR
    #define EDITLIST_BACKGROUND_COLOR   EDITLIST_BACKGROUND_COLOR_BITMAP
#endif
#ifndef EDITLIST_TEXT_COLOR
    #define EDITLIST_TEXT_COLOR         EDITLIST_TEXT_COLOR_BITMAP
#endif
#ifndef EDITLIST_TEXT_COLOR_FIRST
    #define EDITLIST_TEXT_COLOR_FIRST   EDITLIST_TEXT_COLOR_FIRST_BITMAP
#endif
#ifndef CHARPOPUP_BACKGROUND_COLOR
    #define CHARPOPUP_BACKGROUND_COLOR  CHARPOPUP_BACKGROUND_COLOR_BITMAP
#endif
#ifndef DIACRITIC_BACKGROUND_COLOR
    #define DIACRITIC_BACKGROUND_COLOR  DIACRITIC_BACKGROUND_COLOR_BITMAP
#endif
#ifndef DIACRITIC_TEXT_COLOR
    #define DIACRITIC_TEXT_COLOR        DIACRITIC_TEXT_COLOR_BITMAP
#endif
#ifndef DIACRITIC_TEXT_COLOR_FIRST
    #define DIACRITIC_TEXT_COLOR_FIRST  DIACRITIC_TEXT_COLOR_FIRST_BITMAP
#endif
#ifndef SWYPELIST_TEXT_COLOR_BITMAP_DARK
    #define SWYPELIST_TEXT_COLOR_BITMAP_DARK         SWYPELIST_TEXT_COLOR_BITMAP
#endif
#ifndef SWYPELIST_TEXT_COLOR_FIRST_BITMAP_DARK
    #define SWYPELIST_TEXT_COLOR_FIRST_BITMAP_DARK   SWYPELIST_TEXT_COLOR_FIRST_BITMAP
#endif
#ifndef EDITLIST_TEXT_COLOR_BITMAP_DARK
    #define EDITLIST_TEXT_COLOR_BITMAP_DARK          EDITLIST_TEXT_COLOR_BITMAP
#endif
#ifndef EDITLIST_TEXT_COLOR_FIRST_BITMAP_DARK
    #define EDITLIST_TEXT_COLOR_FIRST_BITMAP_DARK    EDITLIST_TEXT_COLOR_FIRST_BITMAP
#endif
#ifndef DIACRITIC_TEXT_COLOR_BITMAP_DARK
    #define DIACRITIC_TEXT_COLOR_BITMAP_DARK         DIACRITIC_TEXT_COLOR_BITMAP
#endif
#ifndef DIACRITIC_TEXT_COLOR_FIRST_BITMAP_DARK
    #define DIACRITIC_TEXT_COLOR_FIRST_BITMAP_DARK   DIACRITIC_TEXT_COLOR_FIRST_BITMAP
#endif
#ifndef CHARPOPUP_TEXT_COLOR_DARK
    #define CHARPOPUP_TEXT_COLOR_DARK CHARPOPUP_TEXT_COLOR
#endif
#ifndef CHARPOPUP_TEXT_COLOR_FIRST_DARK
    #define CHARPOPUP_TEXT_COLOR_FIRST_DARK CHARPOPUP_TEXT_COLOR_FIRST
#endif

/* These are default settings for the core. While these settings used to be defined */
/* above per target platform, they can now be defined in BOB and propogate to a */
/* build via the SettingsManager class (a.k.a. config.dat file). If not specified */
/* in BOB, the following defaults are used. */
#define INVERT_WCW_FOR_PREDICTIVE_TAP_DEFAULT               0 /* Use inverted choice list for predictive tap */
#define DRAW_CHOICE_WINDOW_WITH_BITMAP_DEFAULT              1
#define DRAW_CHOICE_WINDOW_WITH_BITMAP_LANG_DEFAULT         1
#define USE_WCW_DARK_COLOR_SET_DEFAULT                      0
#define CHOICE_WINDOW_FIRST_WORD_COLOR_DEFAULT              -1  /* don't override SWYPELIST_TEXT_COLOR_FIRST */
#define CHOICE_WINDOW_CHARPOPUP_TEXT_COLOR_DEFAULT          -1  /* don't override CHARPOPUP_TEXT_COLOR */
#define USE_EMOTICON_ICONS_DEFAULT                          0
#define SUPPORT_MULTIPLE_SCREEN_SIZES_DEFAULT               0
#define SUPPORT_RESIZABLE_DISPLAY_DEFAULT                   0
#define USE_MULTIPLE_EDIT_LAYER_IMAGES_DEFAULT              0
#define SWYPE_ENABLE_INFINITE_DELETE_WORD_BACK_TIMER_DEFAULT 1 /*when set, enables the infinite delte word back timer */
                                                              /* for platforms like Meego wherein we do not know */
                                                              /* if the Text in an editor is of length 0 */
#define ADJUST_RETURN_KEY_ICON_LOWER_DEFAULT                1
#define KEYBOARD_RETURN_KEY_HAS_ICON_DEFAULT                0
#define SHOW_AUTOSPACE_OFF_SIGN_WHEN_SUPPRESSED_DEFAULT     1   /* When set, we show the auto space supress sign when auto space */
                                                                /* is set to off in certain fields, e.g. email address and URL. */
#define SHOW_STARTUP_TIP_DEFAULT                            1   /* When set, we are pushing out a "how to use Swype" tip with a */
                                                                /* video link when Swype starts the first time. */
#define SHOW_STARTUP_TIP_ONLY_MESSAGING_APP_DEFAULT         1   /* When set, we only show the above tip inside the messaging app. */
                                                                /* This so if Swype is the default keyboard we don't interfere */
                                                                /* with the device's sign up process. */
#ifndef ENABLE_AUDIO_FEEDBACK_INIT
    #define ENABLE_AUDIO_FEEDBACK_INIT                      1
#endif
#define ENABLE_HAPTIC_FEEDBACK_INIT                         1
#define DEFAULT_TRACE_LENGTH                                200 /* how long should the default trace be */
#define DEFAULT_TRACE_WIDTH                                 3   /* thickness of the trace path (QVGA coordinates) */
#define TRACE_PATH_COLOR_DEFAULT                            SWOS::COLOR_TRACE   /* don't override SWOS::COLOR_TRACE */
#define CHECK_LANGUAGE_COMPATIBILITY_DEFAULT                0
#define SILENT_FLASH_FOR_32_CHAR_STRINGS_DEFAULT            0
#define ENABLE_STATISTICS_COLLECTION_DEFAULT                0

/**
 * Use glow image for temporary key highlight.
*/

#ifndef USE_GLOW_AS_TEMPORARY_HIGHLIGHT
#define USE_GLOW_AS_TEMPORARY_HIGHLIGHT 0
#endif

/**
 * Limit the trace path refresh rate. If off, the screen is updated with every mouse move event.
*/

#ifndef THROTTLE_SCREEN_REFRESH_RATE
    #define THROTTLE_SCREEN_REFRESH_RATE            0
#endif

/**
 * Limit the mouse data input rate. If off, every mouse move event is processed.
*/

#ifndef THROTTLE_MOUSE_DATA_INPUT_RATE
    #define THROTTLE_MOUSE_DATA_INPUT_RATE            0
#endif

/**
 * When this flag is true, the statemachine runs in the same thread as the UI and calls that send
 * us the mouse data are serialized with the other state machine functions.
 * This is the case in the Windows port.
 * However, in other cases, e.g. Android, the statemachine runs in its own thread and this flag
 * must be false
 */

#ifndef STATEMACHINE_RUNS_IN_UI_THREAD
#define     STATEMACHINE_RUNS_IN_UI_THREAD  1
#endif

/**
 * When this flag is set, the language choice list is shown in the Word Choice Window.
 * If this flag is false, the implementation presents its own rendering of the langauge selection
 * list.
 * The later is the case in Android where the languaes are shown in a scrollable choice list.
 */

#ifndef SHOW_LANGAUGE_LIST_AS_WCW
#define     SHOW_LANGAUGE_LIST_AS_WCW       1
#endif

/* When this flag is true, the search thread is not shut down when the input method is hidden. */
#ifndef KEEP_BACKEND_ALIVE_ON_HIDING
#   define  KEEP_BACKEND_ALIVE_ON_HIDING    0
#endif

/* When this flag is set, the state machine does not attempt to repair double-taps. Win32 desktop only! */
#ifndef DO_NOT_MERGE_ANY_TAPS
#   define  DO_NOT_MERGE_ANY_TAPS    0
#endif


/*================================================================================= */
/* Definitions for other things. */
/*================================================================================= */


#ifndef GCC_CHECK_MULTIPLE_IPS_MATCH_OPTIMIZATION_ATTRIBUTE
/* For controlling GCC attribute (compiler bug work-around for MeeGo scratchbox toolchain) */
#define GCC_CHECK_MULTIPLE_IPS_MATCH_OPTIMIZATION_ATTRIBUTE
#endif

/* */
/*  List some items that seem to come from nowhere or from the command line. */
/* */
#if 0


    #ifndef     SIGNAL_SEARCH_PERFORMANCE
        #define SIGNAL_SEARCH_PERFORMANCE   0
    #endif

    #ifndef     REF_KEYBOARD
        #define REF_KEYBOARD                0                   /* Code that references this can be changed to #if from #ifdef when all sources of this #define are identified and fixed (e.g. cmd line) */
    #endif

    #ifndef     _USE_SWYPE_RPC_
        #define _USE_SWYPE_RPC_             0
    #endif

    #ifndef     USE_DISTANCE2Y8_SEGMENT
        #define USE_DISTANCE2Y8_SEGMENT     0
    #endif

    #ifndef     SECRETIVE_ASSERT_MESSAGES
        #define SECRETIVE_ASSERT_MESSAGES   0
    #endif

#endif

/*==========================// */
/*      DEFAULTS            // */
/*==========================// */
#if defined(STR_NO_UNICODE)    /* Korean meaningless unless we have unicode. */
    #define KOREAN_TRANSLATION 0
    #define VIETNAMESE_TRANSLATION 0
    #define THAI_TRANSLATION 0
#endif
#ifndef KOREAN_TRANSLATION
    #define KOREAN_TRANSLATION 1            /* Code for translating Korean internal/external forms. */
#endif
#ifndef VIETNAMESE_TRANSLATION
    #define VIETNAMESE_TRANSLATION 1        /* Code for translating Vietnamese internal/external forms. */
#endif
#ifndef THAI_TRANSLATION
    #define THAI_TRANSLATION 1              /* Code for stripping illegal diacritics from Thai words. */
#endif
#ifndef CHINESE_IME
    #define CHINESE_IME 0
#endif
#ifndef CHINESE_SPELL_CORRECTION
    #define CHINESE_SPELL_CORRECTION            CHINESE_IME
#endif
#ifndef JAPANESE_IME
    #define JAPANESE_IME 0
#endif
#ifndef JAPANESE_SPELL_CORRECTION
    #define JAPANESE_SPELL_CORRECTION           JAPANESE_IME
#endif
#if CHINESE_IME || JAPANESE_IME
    #define USE_IME_INTERN 1
#endif
#ifndef SCOREWORD_API
    #define SCOREWORD_API   0   /* Use normal SearchDB code. Not the minimal ScoreWord set. */
#endif
#ifndef Z1TESTING
    #define Z1TESTING 0         /* Turn on to make tutorial give option to record. */
#endif
#ifndef IGNORE_SWYPE_KEY_SHIFT
    #define IGNORE_SWYPE_KEY_SHIFT 0 /* Shift doesn't affect Swype key. */
    /* This doesn't help much w/o PRESS_HOLD_SWYPE_KEY_FOR_SHIFTED_FN */
#endif

#ifndef SHIFT_GESTURE_APPLIES_TO_PUNCT /* Swype from . to space through shift gives '.  Also applies to auto-cap. */
    #define SHIFT_GESTURE_APPLIES_TO_PUNCT 0
#endif

/* Maximum frame per second. This is used to cap the refresh rate of the keyboard */
/* on certain low end devices */
#ifndef MAX_FPS
    #define MAX_FPS 0
#endif

/* Should we compile in code which allows Swype to talk to an internal IME? */
/* When this is 0 and Chinese/Japanese, etc languages are included, need to  */
/* enable external IME. More information, see ApplicationIntegrationWindows::SendSingleCharacterToOS */
#ifndef USE_IME_INTERN
    #define USE_IME_INTERN 0
#endif

/* Should we ignore "i","v","u" if they are the first character in Chinese Pinyin string */
#ifndef CHINESE_INPUT_IGNORE_INVALID_IVU_CONFIG_DEFAULT
    #define CHINESE_INPUT_IGNORE_INVALID_IVU_CONFIG_DEFAULT 0
#endif

/* Should we ignore extremely long pinyin */
#ifndef CHINESE_INPUT_IGNORE_LONG_PINYIN
    #define CHINESE_INPUT_IGNORE_LONG_PINYIN 0
#endif

/* When this flag is set to ON, when Swype starts, the back end is started asynchronously. This shows the */
/* keyboard faster and improves usability on lower end phones. On platforms with a faster CPU, the */
/* difference is not noticable and this flag should be set to OFF */
#ifndef START_BACKEND_ASYNCHRONOUSLY
#define     START_BACKEND_ASYNCHRONOUSLY   0
#endif

/*Ensure WCW always has a top margin. */
#ifndef DISABLE_WCW_TOP_MARGIN
#define DISABLE_WCW_TOP_MARGIN 0
#endif

/*Disable Language switch quick key */
#ifndef DISABLE_TOGGLE_LANG
#define DISABLE_TOGGLE_LANG 0
#endif

#ifndef WCW_X_POSITION_BOUNDED_BY_SINGLE_SCREEN
#define WCW_X_POSITION_BOUNDED_BY_SINGLE_SCREEN 0
#endif

/* When GET_LANGUAGE_LIST_FROM_CONFIG_FILE is true, we get the default language from the config file */
/* rather than have it hard coded. */
#if GET_LANGUAGE_LIST_FROM_CONFIG_FILE
#   undef DEFAULT_LANGUAGE_NAME
#   define DEFAULT_LANGUAGE_NAME   SWDbm_GetDefaultLangauge()
#endif

/* When this flag is set, the CONTROL mode is applied to the TAB virtual key. Defaults to off. */
#ifndef USE_CTRL_TAB
#   define  USE_CTRL_TAB    0
#endif

#ifndef SUPPORT_MULTIPLE_DISPLAYS
#define SUPPORT_MULTIPLE_DISPLAYS 0
#endif
#ifndef SWYPE_THREAD_WATCH_TIMER_INTERVAL
#define SWYPE_THREAD_WATCH_TIMER_INTERVAL 1000
#endif

#ifndef ADD_CUT_COPY_PASTE_GESTURES
#define ADD_CUT_COPY_PASTE_GESTURES 0
#endif

#ifndef SUPPORT_RESIZABLE_DISPLAY
#define SUPPORT_RESIZABLE_DISPLAY 0
#endif

/* When this flag is on, the return key icon is drawn with an adjustment that lowers it  */
#ifndef ADJUST_RETURN_KEY_ICON_LOWER
#define ADJUST_RETURN_KEY_ICON_LOWER    1
#endif

#ifndef SHOW_NAVIGATION_BAR_INIT
#define SHOW_NAVIGATION_BAR_INIT true
#endif /*SHOW_NAVIGATION_BAR_INIT */

/*====================================================// */
/* Which redraw model we use: pull or push */
/* See SDK API for details. */
/* If state machine runs in the UI thread, we usually uses */
/* the pull redraw model, unless otherwise defined by the build */
/* If state machine does not run the UI thread, we must use */
/* the push model. */
/*====================================================// */
#define REDRAW_MODEL_PULL       1
#define REDRAW_MODEL_PUSH       2
#if ! defined(WHICH_REDRAW_MODEL)
#   if ! STATEMACHINE_RUNS_IN_UI_THREAD
#       define  WHICH_REDRAW_MODEL      REDRAW_MODEL_PUSH
#   else
#       define  WHICH_REDRAW_MODEL      REDRAW_MODEL_PULL
#   endif
#elif (WHICH_REDRAW_MODEL != REDRAW_MODEL_PUSH) && (WHICH_REDRAW_MODEL != REDRAW_MODEL_PULL)
#   error "WHICH_REDRAW_MODEL  must be one of REDRAW_MODEL_PULL or REDRAW_MODEL_PUSH"
#endif
#if (!STATEMACHINE_RUNS_IN_UI_THREAD) && (WHICH_REDRAW_MODEL != REDRAW_MODEL_PUSH)
#   error "When state machine is not running in the UI thread, we must use PUSH redraw"
#endif

/*====================================================// */
/*      Check for compatiblity between defines        // */
/*====================================================// */
#if !TIME_LIMITED_RELEASE && !CHECK_LICENSE_FILE && !defined(SAMSUNG_SHP) && (! SAMSUNG_LINUX_PLATFORM) && (! HEADLESS_API) && !defined(SYMREF_BUILD)
    #error "A build must be either time limited OR licensed, or BOTH. Neither is unacceptable"
#endif


/************************************************************************
 * COMMAND LINE
 ************************************************************************/

#if defined(CMDLINE_TEST)
#undef      STATEMACHINE_RUNS_IN_UI_THREAD
#define     STATEMACHINE_RUNS_IN_UI_THREAD  0
#endif

#ifndef SWYPE_PERSIST_STATE_TO_FILE
    #define SWYPE_PERSIST_STATE_TO_FILE 0
#endif

#ifndef SYMBIAN_WCW
#define SYMBIAN_WCW 0
#endif

#ifndef PERSIST_LANGUAGE_HEAP
#define PERSIST_LANGUAGE_HEAP 0 /* File manager persists language */
#endif

#ifndef CHECK_LANGUAGE_COMPATIBILITY
    #define CHECK_LANGUAGE_COMPATIBILITY 0
#endif

#ifndef ALLOW_SECONDARY_POPUP
#define ALLOW_SECONDARY_POPUP 1
#endif

/* By default Context Prediction is not enabled */
#define CONTEXT_PREDICTION_SUPPORT_CONFIG_DEFAULT 0

#define VoiceDictationProvider_CONFIG_DEFAULT "None"

/* Indicates whether or not platform generally handles tab characters in editors */
/* See ALLOW_SECONDARY_POPUP */
#ifndef PLATFORM_SUPPORTS_TAB
#define PLATFORM_SUPPORTS_TAB 1
#endif

#endif      /*  _OEMBUILD_H_ */


/* eof */
