/**************************************************************
 * 
 * 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.
 * 
 *************************************************************/


#include "Bitmaps_HC.hrc"

Image IMG_TYPE_COLUMN_HC
{
    ImageBitmap = Bitmap { File = "typecolumn_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_BAR_HC
{
	ImageBitmap = Bitmap { File = "typebar_16.png " ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_PIE_HC
{
	ImageBitmap = Bitmap { File = "typepie_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_LINE_HC
{
	ImageBitmap = Bitmap { File = "typepointline_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_XY_HC
{
	ImageBitmap = Bitmap { File = "typexy_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_AREA_HC
{
	ImageBitmap = Bitmap { File = "typearea_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_NET_HC
{
	ImageBitmap = Bitmap { File = "typenet_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_STOCK_HC
{
    ImageBitmap = Bitmap { File = "typestock_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_COLUMN_LINE_HC
{
    ImageBitmap = Bitmap { File = "typecolumnline_16.png" ; };
	MaskColor = SC_HC_MASKCOLOR;
};
Image IMG_TYPE_BUBBLE_HC
{
    ImageBitmap = Bitmap { File = "typebubble_16.png" ; };
    MaskColor = SC_HC_MASKCOLOR;
};
Bitmap BMP_BUBBLE_1_HC
{
	File = "bubble_52x60_h.png" ;
};
Bitmap BMP_AREAS_2D_HC
{
	File = "areas_52x60_h.png" ;
};
Bitmap BMP_AREAS_2D_1_HC
{
	File = "areaspiled_52x60_h.png" ;
};
Bitmap BMP_AREAS_2D_3_HC
{
	File = "areasfull_52x60_h.png" ;
};
Bitmap BMP_AREAS_3D_HC
{
	File = "areaspiled3d_52x60_h.png" ;
};
Bitmap BMP_AREAS_3D_1_HC
{
	File = "areas3d_52x60_h.png" ;
};
Bitmap BMP_AREAS_3D_2_HC
{
	File = "areasfull3d_52x60_h.png" ;
};
//---------------------
Bitmap BMP_BARS_2D_1_HC
{
	File = "bar_52x60_h.png" ;
};
Bitmap BMP_BARS_2D_2_HC
{
	File = "barstack_52x60_h.png" ;
};
Bitmap BMP_BARS_2D_3_HC
{
	File = "barpercent_52x60_h.png" ;
};
Bitmap BMP_BARS_3D_HC
{
	File = "bar3ddeep_52x60_h.png" ;
};
Bitmap BMP_BARS_3D_1_HC
{
	File = "bar3d_52x60_h.png" ;
};
Bitmap BMP_BARS_3D_2_HC
{
	File = "barstack3d_52x60_h.png" ;
};
Bitmap BMP_BARS_3D_3_HC
{
	File = "barpercent3d_52x60_h.png" ;
};
//---------------------
Bitmap BMP_CIRCLES_2D_HC
{
	File = "pie_52x60_h.png" ;
};
Bitmap BMP_CIRCLES_2D_EXPLODED_HC
{
	File = "pieexploded_52x60_h.png" ;
};
Bitmap BMP_CIRCLES_3D_HC
{
	File = "pie3d_52x60_h.png" ;
};
Bitmap BMP_CIRCLES_3D_EXPLODED_HC
{
	File = "pie3dexploded_52x60_h.png" ;
};
//---------------------
Bitmap BMP_DONUT_2D_HC
{
    File = "donut_52x60_h.png" ;
};
Bitmap BMP_DONUT_2D_EXPLODED_HC
{
	File = "donutexploded_52x60_h.png" ;
};
Bitmap BMP_DONUT_3D_HC
{
    File = "donut3d_52x60_h.png" ;
};
Bitmap BMP_DONUT_3D_EXPLODED_HC
{
    File = "donut3dexploded_52x60_h.png" ;
};
//---------------------
Bitmap BMP_COLUMNS_2D_1_HC
{
	File = "columns_52x60_h.png" ;
};
Bitmap BMP_COLUMNS_2D_2_HC
{
	File = "columnstack_52x60_h.png" ;
};
Bitmap BMP_COLUMNS_2D_3_HC
{
	File = "columnpercent_52x60_h.png" ;
};
Bitmap BMP_COLUMN_LINE_HC
{
	File = "columnline_52x60_h.png" ;
};
Bitmap BMP_COLUMN_LINE_STACKED_HC
{
	File = "columnstackline_52x60_h.png" ;
};
//---------------------
Bitmap BMP_COLUMNS_3D_HC
{
	File = "columns3ddeep_52x60_h.png" ;
};
Bitmap BMP_COLUMNS_3D_1_HC
{
	File = "columns3d_52x60_h.png" ;
};
Bitmap BMP_COLUMNS_3D_2_HC
{
	File = "columnstack3d_52x60_h.png" ;
};
Bitmap BMP_COLUMNS_3D_3_HC
{
	File = "columnpercent3d_52x60_h.png" ;
};
//---------------------
Bitmap BMP_KEGELQ_3D_1_HC
{
	File = "conehori_52x60_h.png" ;
};
Bitmap BMP_KEGELQ_3D_2_HC
{
	File = "conehoristack_52x60_h.png" ;
};
Bitmap BMP_KEGELQ_3D_3_HC
{
	File = "conehoripercent_52x60_h.png" ;
};
Bitmap BMP_KEGELQ_3D_4_HC
{
	File = "conehorideep_52x60_h.png" ;
};
Bitmap BMP_KEGEL_3D_1_HC
{
	File = "cone_52x60_h.png" ;
};
Bitmap BMP_KEGEL_3D_2_HC
{
	File = "conestack_52x60_h.png" ;
};
Bitmap BMP_KEGEL_3D_3_HC
{
	File = "conepercent_52x60_h.png" ;
};
Bitmap BMP_KEGEL_3D_4_HC
{
	File = "conedeep_52x60_h.png" ;
};
//---------------------
Bitmap BMP_POINTS_XVALUES_HC
{
	File = "valueaxisdirectpoints_52x60_h.png" ;
};
Bitmap BMP_POINTS_XCATEGORY_HC
{
	File = "nostackdirectpoints_52x60_h.png" ;
};
Bitmap BMP_POINTS_STACKED_HC
{
	File = "stackdirectpoints_52x60_h.png" ;
};
//---------------------

Bitmap BMP_LINE_P_XVALUES_HC
{
	File = "valueaxisdirectboth_52x60_h.png" ;
};
Bitmap BMP_LINE_O_XVALUES_HC
{
	File = "valueaxisdirectlines_52x60_h.png" ;
};
Bitmap BMP_LINE3D_XVALUES_HC
{
	File = "valueaxisdirect3d_52x60_h.png" ;
};


Bitmap BMP_LINE_P_XCATEGORY_HC
{
	File = "nostackdirectboth_52x60_h.png" ;
};
Bitmap BMP_LINE_O_XCATEGORY_HC
{
	File = "nostackdirectlines_52x60_h.png" ;
};
Bitmap BMP_LINE3D_XCATEGORY_HC
{
	File = "nostackdirect3d_52x60_h.png" ;
};


Bitmap BMP_LINE_P_STACKED_HC
{
	File = "stackdirectboth_52x60_h.png" ;
};
Bitmap BMP_LINE_O_STACKED_HC
{
	File = "stackdirectlines_52x60_h.png" ;
};
Bitmap BMP_LINE3D_STACKED_HC
{
	File = "stackdirect3d_52x60_h.png" ;
};

//---------------------
Bitmap BMP_LINE_P_XVALUES_SMOOTH_HC
{
	File = "valueaxissmoothboth_52x60_h.png" ;
};
Bitmap BMP_LINE_O_XVALUES_SMOOTH_HC
{
	File = "valueaxissmoothlines_52x60_h.png" ;
};
Bitmap BMP_LINE3D_XVALUES_SMOOTH_HC
{
	File = "valueaxissmooth3d_52x60_h.png" ;
};
Bitmap BMP_LINE_P_XCATEGORY_SMOOTH_HC
{
	File = "nostacksmoothboth_52x60_h.png" ;
};
Bitmap BMP_LINE_O_XCATEGORY_SMOOTH_HC
{
	File = "nostacksmoothlines_52x60_h.png" ;
};
Bitmap BMP_LINE3D_XCATEGORY_SMOOTH_HC
{
	File = "nostacksmooth3d_52x60_h.png" ;
};
Bitmap BMP_LINE_P_STACKED_SMOOTH_HC
{
	File = "stacksmoothboth_52x60_h.png" ;
};
Bitmap BMP_LINE_O_STACKED_SMOOTH_HC
{
	File = "stacksmoothlines_52x60_h.png" ;
};
Bitmap BMP_LINE3D_STACKED_SMOOTH_HC
{
	File = "stacksmooth3d_52x60_h.png" ;
};
//---------------------
Bitmap BMP_NET_HC
{
	File = "net_52x60_h.png" ;
};
Bitmap BMP_NET_STACK_HC
{
	File = "netstack_52x60_h.png" ;
};
Bitmap BMP_NET_SYMB_HC
{
	File = "netpoint_52x60_h.png" ;
};
Bitmap BMP_NET_SYMB_STACK_HC
{
	File = "netpointstack_52x60_h.png" ;
};
Bitmap BMP_NET_LINESYMB_HC
{
	File = "netlinepoint_52x60_h.png" ;
};
Bitmap BMP_NET_LINESYMB_STACK_HC
{
	File = "netlinepointstack_52x60_h.png" ;
};
Bitmap BMP_NET_FILL_HC
{
	File = "netfill_52x60_h.png" ;
};
Bitmap BMP_NET_FILL_STACK_HC
{
	File = "netstackfill_52x60_h.png" ;
};
//---------------------
Bitmap BMP_PYRAMIDQ_3D_1_HC
{
	File = "pyramindhori_52x60_h.png" ;
};
Bitmap BMP_PYRAMIDQ_3D_2_HC
{
	File = "pyramindhoristack_52x60_h.png" ;
};
Bitmap BMP_PYRAMIDQ_3D_3_HC
{
	File = "pyramindhoripercent_52x60_h.png" ;
};
Bitmap BMP_PYRAMIDQ_3D_4_HC
{
	File = "pyramindhorideep_52x60_h.png" ;
};
Bitmap BMP_PYRAMID_3D_1_HC
{
	File = "pyramind_52x60_h.png" ;
};
Bitmap BMP_PYRAMID_3D_2_HC
{
	File = "pyramindstack_52x60_h.png" ;
};
Bitmap BMP_PYRAMID_3D_3_HC
{
	File = "pyramindpercent_52x60_h.png" ;
};
Bitmap BMP_PYRAMID_3D_4_HC
{
	File = "pyraminddeep_52x60_h.png" ;
};
//---------------------
Bitmap BMP_ROEHRE_3D_1_HC
{
	File = "cylinderhori_52x60_h.png" ;
};
Bitmap BMP_ROEHRE_3D_2_HC
{
	File = "cylinderhoristack_52x60_h.png" ;
};
Bitmap BMP_ROEHRE_3D_3_HC
{
	File = "cylinderhoriprocent_52x60_h.png" ;
};
Bitmap BMP_ROEHRE_3D_4_HC
{
	File = "cylinderhorideep_52x60_h.png" ;
};
//---------------------
Bitmap BMP_SAEULE_3D_1_HC
{
	File = "cylinder_52x60_h.png" ;
};
Bitmap BMP_SAEULE_3D_2_HC
{
	File = "cylinderstack_52x60_h.png" ;
};
Bitmap BMP_SAEULE_3D_3_HC
{
	File = "cylinderpercent_52x60_h.png" ;
};
Bitmap BMP_SAEULE_3D_4_HC
{
	File = "cylinderdeep_52x60_h.png" ;
};
//---------------------
Bitmap BMP_STOCK_1_HC
{
	File = "stock_52x60_h.png" ;
};
Bitmap BMP_STOCK_2_HC
{
	File = "stockblock_52x60_h.png" ;
};
Bitmap BMP_STOCK_3_HC
{
	File = "stockcolumns_52x60_h.png" ;
};
Bitmap BMP_STOCK_4_HC
{
	File = "stockcolumnsattach_52x60_h.png" ;
};
//---------------------
//---------------------
//---------------------
//error indicator
Image BMP_INDICATE_BOTH_VERTI_HC
{
    ImageBitmap = Bitmap
    {
        File = "errorbothverti_30_h.png" ;
    };
};
Image BMP_INDICATE_DOWN_HC
{
    ImageBitmap = Bitmap
    {
        File = "errordown_30_h.png" ;
    };
};
Image BMP_INDICATE_UP_HC
{
    ImageBitmap = Bitmap
    {
        File = "errorup_30_h.png" ;
    };
};
Image BMP_INDICATE_BOTH_HORI_HC
{
    ImageBitmap = Bitmap
    {
        File = "errorbothhori_30_h.png" ;
    };
};
Image BMP_INDICATE_RIGHT_HC
{
    ImageBitmap = Bitmap
    {
        File = "errorright_30_h.png" ;
    };
};
Image BMP_INDICATE_LEFT_HC
{
    ImageBitmap = Bitmap
    {
        File = "errorleft_30_h.png" ;
    };
};

//---------------------
//regression curves
Image BMP_REGRESSION_NONE_HC
{
    ImageBitmap = Bitmap
    {
        File = "regno_h.bmp" ;
    };
};
Image BMP_REGRESSION_LINEAR_HC
{
    ImageBitmap = Bitmap
    {
        File = "reglin_h.bmp" ;
    };
};
Image BMP_REGRESSION_LOG_HC
{
    ImageBitmap = Bitmap
    {
        File = "reglog_h.bmp" ;
    };
};
Image BMP_REGRESSION_EXP_HC
{
    ImageBitmap = Bitmap
    {
        File = "regexp_h.bmp" ;
    };
};
Image BMP_REGRESSION_POWER_HC
{
    ImageBitmap = Bitmap
    {
        File = "regpow_h.bmp" ;
    };
};
//---------------------
Image IMG_SELECTRANGE_HC
{
	ImageBitmap = Bitmap
	{
		File = "selectrange.png";
	};
    MaskColor = SC_HC_MASKCOLOR;
};
