/*
* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0""
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Resource headers for project peninputcommonlayout
*
*/


#ifndef PENINPUTCOMMONLAYOUT_RH
#define PENINPUTCOMMONLAYOUT_RH

// system includes
#include <uikon.rh>
#include <peninputcommonctrls.rh>

// ---------------------------------------------------------------------------
// Layout base window
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_BASE_WINDOW
    {
    WORD supportskin = 0xffff;
    LLINK moveimage = 0;
    LLINK closeimage;
    LLINK icfimage;
    LLINK optionimage;
    LLINK keymapping = 0;
    LLINK shadow;
    LLINK arrowleftimage = 0;
    LLINK arrowrightimage = 0;
    LLINK bgimage = 0;
    }
// ---------------------------------------------------------------------------
// Layout base window
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_BASE_WINDOW_INFO
    {
    WORD supportskin = 0xffff;
    LLINK shadow;
    LLINK bgimage = 0;
    STRUCT controls[];
    }
// ---------------------------------------------------------------------------
// Window input context field
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_ICF
    {
    LTEXT bmpfile="";   
    LONG imgmajorskinid=0xffff;
    
    WORD icfbgimg=0xffff;
    WORD icfbgimgmask=0xffff;
    WORD icfbgimgskinid=0xffff;
    
    LONG colormajorskinid = 0xffff;
    WORD textcolorgrp = 0xffff;
    WORD textcoloridx = 0xffff;
    }


STRUCT PENINPUT_LAYOUT_MULTILINE_ICF
    {
    LONG colormajorskinid = 0xffff;
    WORD textcolorgrp = 0xffff;
    WORD textcoloridx = 0xffff;
    WORD bordercolorgrp = 0xffff;
    WORD bordercoloridx = 0xffff;
    }
    
// ---------------------------------------------------------------------------
// Window shadow
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_WINDOW_SHADOW
    {
    LTEXT bmpfile="";    
    LONG imgmajorskinid=0xffff;
    
    WORD shadowimgtl=0xffff;
    WORD shadowimgtlmask=0xffff;
    WORD shadowimgtlskinid=0xffff;
    
    WORD shadowimgt=0xffff;
    WORD shadowimgtmask=0xffff;
    WORD shadowimgtskinid=0xffff;

    WORD shadowimgtr=0xffff;
    WORD shadowimgtrmask=0xffff;
    WORD shadowimgtrskinid=0xffff;

    WORD shadowimgl=0xffff;
    WORD shadowimglmask=0xffff;
    WORD shadowimglskinid=0xffff;

    WORD shadowimgr=0xffff;
    WORD shadowimgrmask=0xffff;
    WORD shadowimgrskinid=0xffff;

    WORD shadowimgbl=0xffff;
    WORD shadowimgblmask=0xffff;
    WORD shadowimgblskinid=0xffff;

    WORD shadowimgb=0xffff;
    WORD shadowimgbmask=0xffff;
    WORD shadowimgbskinid=0xffff;

    WORD shadowimgbr=0xffff;
    WORD shadowimgbrmask=0xffff;  
    WORD shadowimgbrskinid=0xffff;
    }

// ---------------------------------------------------------------------------
// Layout numeric key mapping string list
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_NUMERIC_KEY_MAPPING_STRING_LIST
    {
    STRUCT items[];
    }

// ---------------------------------------------------------------------------
// Layout numeric key mapping string 
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_NUMERIC_KEY_MAPPING_STRING
    {
    WORD numerickeymapping=0;

    LTEXT PermittedString="";
    }

// ---------------------------------------------------------------------------
// Layout config information
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_CONFIG_INFO
    {
    WORD language=0;          // TLanguage in symbian

    LTEXT languagestring="";  // such as "En",

    WORD casesensitive=0;     // 0:case not sensitive 1:case sensitive

    WORD guideline=0;         // TPeninputGuideLineStyle   
    
    WORD positiontopline=0;            // The position percent of bottom line 

    WORD positionbottomline=0;         // The position percent of bottom line 

    LLINK clientlayoutlist;   // PENINPUT_LAYOUT_CLIENT_LAYOUT_LIST

    LLINK vkblayoutlist;      // PENINPUT_LAYOUT_VKB _LAYOUT_LIST

    LLINK rangebarinfo;       // PENINPUT_LAYOUT_RANGE_BAR_INFO

    LLINK shiftcapsinfo;      // PENINPUT_LAYOUT_SHIFT_CAPS_INFO

    LLINK rangebarresource;   // Range bar resource   
    }

// ---------------------------------------------------------------------------
// Client layout list
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_CLIENT_LAYOUT_LIST
    {
    STRUCT items[];
    }

// ---------------------------------------------------------------------------
// Client layout 
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_CLIENT_LAYOUT
    {
    // Client layout id
    WORD id=0;

    // column counts
    WORD colcount=0;

    // row counts
    WORD rowcount=0;
    
    // the bg mask bmp of the layout
    STRUCT controls[];
    }

// ---------------------------------------------------------------------------
// Layout control
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_CONTROL
    {
    // Control ID
    WORD id=0;

    // the control type
    WORD controltype=0;

    // the begin row of the control
    WORD beginrow=0;

    // the begin column of the control
    WORD begincolumn=0;

    // the end row of the control
    WORD endrow=0;

    // the end column of the control
    WORD endcolumn=0;
    }

// start by vv
STRUCT PENINPUT_LAYOUT_CONTROL_INFO
    {
    // Control ID TPeninputCommonCtrlID
    WORD id=0;
   
    //the control type, new define TResourceCtrlType
    //WORD controltype=-1; 
    
    // the control event id TPeninputLayoutEvent
    //WORD controleventid=-1;
 
    // TKeyCode
    //WORD  controleventkeycode = -1; 

    // the begin column of the control
    LLINK image; 
    }
// end by vv
	
// ---------------------------------------------------------------------------
// Vkb layout list
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_VKB_LAYOUT_LIST
    {
    STRUCT items[];
    }

// ---------------------------------------------------------------------------
// Vkb layout 
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_VKB_LAYOUT
    {
    // Vkb layout type id
    WORD id=0; 
    
    // Mbm file name which store the bg bmp of the layout and all controls
    LTEXT mbmfile="";
    LONG imgmajorskinid=0xffff;
    
    // the bg, bg mask and bg skin bmp of the layout
    WORD bgbmp=0xffff;
    WORD bgbmpmask=0xffff;
    WORD bgbmpskinid=0xffff;

    // the bg, bg mask and bg skin bmp for dimmed key
    WORD dimbmp=0xffff;
    WORD dimmask=0xffff;
    WORD dimbmpskinid=0xffff;

    // column counts
    WORD colcount=0;

    // row counts
    WORD rowcount=0;

    STRUCT highlightbmps[];   // list of PENINPUT_LAYOUT_BITMAP_ID

    STRUCT highlightmaskbmps[]; // list of PENINPUT_LAYOUT_BITMAP_ID   

    // keys
    STRUCT keys[];
    }

// ---------------------------------------------------------------------------
// Bitmap id
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_BITMAP_ID
    {
    // id of bitmap
    WORD bmpid=0;
    }

// ---------------------------------------------------------------------------
// Unit key
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_UNIT_KEY
    {
    LTEXT unicode="";    

    WORD scancode=0;

    WORD beginrow=0;

    WORD begincolumn=0;

    WORD endrow=0;

    WORD endcolumn=0;

    WORD highlightbmpindex=-1;

    WORD highlightmaskbmpindex=-1;
		
		// add this item because some special characters need additional unicode to display
		LTEXT displayunicode="";
    }

// ---------------------------------------------------------------------------
// Popup window
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_POPUP_WINDOW
    {
    LTEXT bmpfile="";
    LONG imgmajorskinid=0xffff;

    WORD bgbmp=0xffff;
    WORD bgmaskbmp=0xffff;
    WORD bgbmpskinid=0xffff;
    
    WORD focusbmp=0xffff;
    WORD focusmaskbmp=0xffff;
    WORD focusbmpskinid=0xffff;
    }

// ---------------------------------------------------------------------------
// Shift&caps info list
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_SHIFT_CAPS_INFO_LIST
    {
    STRUCT items[];
    }

// ---------------------------------------------------------------------------
// Shift&caps info 
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_SHIFT_CAPS_INFO
    {
    WORD range = 0;
    STRUCT items[];
    }

// ---------------------------------------------------------------------------
// Shift&caps info single
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
    {
    WORD id=0;
    WORD vkblayoutid=0;
    WORD caseused=0;
    }

// ---------------------------------------------------------------------------
// Range bar info
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_RANGE_BAR_INFO
    {
    WORD style=0;          // 0:hide-style 1:highlight-style

    STRUCT ranges[];       // PENINPUT_LAYOUT_RANGE_INFO
    }

// ---------------------------------------------------------------------------
// Range info
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_RANGE_INFO
    {
    WORD rangeid=0;

    WORD responsestyle=0; // 0:No action 1: change range directory 2: pop choice item

    WORD clientlayoutid=0; 

    WORD vkblayoutid=0;  

    }

// ---------------------------------------------------------------------------
// Switch text info
// ---------------------------------------------------------------------------
//
STRUCT PENINPUT_LAYOUT_SWITCH_TEXT
    {
    LONG colormajorskinid=0xffff;
    WORD textcolorgrp=0xffff;
    WORD textcoloridx=0xffff;
    WORD shadowtextcoloridx=0xffff;
    }
    
// ---------------------------------------------------------------------------
// Base window background
// ---------------------------------------------------------------------------
//   
STRUCT PENINPUT_LAYOUT_WINDOW_BG
    {
    LTEXT bmpfile="";   
    LONG imgmajorskinid=0xffff;
    
    WORD bgimg=0xffff;
    WORD bgimgmask=0xffff;
    WORD bgimgskinid=0xffff; 
    }
    
// ---------------------------------------------------------------------------
// Vkb keyboard 
// ---------------------------------------------------------------------------
//      
STRUCT PENINPUT_LAYOUT_VKB_KEYBOARD
		{
    LTEXT bmpfile="";   
    LONG imgmajorskinid=0xffff;
    
    WORD bgimg=0xffff;
    WORD bgimgmask=0xffff;
    WORD bgimgskinid=0xffff;
		}
#endif // PENINPUTCOMMONLAYOUT_RH
