/**************************************************************
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 *************************************************************/


#define TBX_STYLE 1
#define TBX_ADJUST 2
#define TBX_SHADOW 3

#define FB_DISTANCE 1
#define FB_TEXTSTART 2
#define FB_SHADOW_X 3
#define FB_SHADOW_Y 4
#define MTR_FLD_DISTANCE 1
#define MTR_FLD_TEXTSTART 2
#define MTR_FLD_SHADOW_X 3
#define MTR_FLD_SHADOW_Y 4
#define CLB_SHADOW_COLOR 1

#define IL_FONTWORK		1200
#define ILH_FONTWORK 	1201

// the following ids are also used to identify the
// bitmaps for the image list
#define TBI_STYLE_OFF			1
#define TBI_STYLE_ROTATE		2
#define TBI_STYLE_UPRIGHT		3
#define TBI_STYLE_SLANTX		4
#define TBI_STYLE_SLANTY		5
#define TBI_ADJUST_MIRROR		6
#define TBI_ADJUST_LEFT			7
#define TBI_ADJUST_CENTER		8
#define TBI_ADJUST_RIGHT		9
#define TBI_ADJUST_AUTOSIZE		10
#define TBI_SHOWFORM			11
#define TBI_OUTLINE				12
#define TBI_SHADOW_OFF			13
#define TBI_SHADOW_NORMAL		14
#define TBI_SHADOW_SLANT		15
#define TBI_SHADOW_XDIST		16
#define TBI_SHADOW_YDIST		17
#define TBI_SHADOW_ANGLE		18
#define TBI_SHADOW_SIZE			19
#define TBI_DISTANCE			20
#define TBI_TEXTSTART			21
