📄 global_types.h
字号:
/*****************************************************************************\ global_types.h : global types, enums, and #defines for APDK Copyright (c) 1996 - 2002, Hewlett-Packard Co. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of Hewlett-Packard nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PATENT INFRINGEMENT; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\*****************************************************************************//*! \addtogroup globalsDefinitions for global variables, types, and #defines@{*///// Definitions and structures needed by applications//// This file does not include C++ class definitions etc. so it can// be included by calling C or C++ source files#ifndef APDK_GLOBAL_TYPES_H#define APDK_GLOBAL_TYPES_H#include "models.h"#include "modes.h"#if APDK_AUTO_INCLUDE #include "auto-include.h"#else typedef unsigned long uint32_t;#endif// ** Defines#ifdef APDK_NOTHROW #include <new> //#define NOTHROW (std::nothrow) #define new new(std::nothrow)#endif// Camera compiler warns about NULL at different locations each time.// So, force a definition here.#ifdef NULL #undef NULL#endif#ifndef NULL #define NULL 0#endif#ifndef BOOL typedef int BOOL; #define TRUE 1 #define FALSE 0#endif/*#ifndef BOOL #define BOOL bool#endif#ifndef TRUE #define TRUE true#endif#ifndef FALSE #define FALSE false#endif*/typedef unsigned char BYTE;typedef unsigned short WORD;typedef uint32_t DWORD;#ifndef LOWORD #define LOWORD(l) ((WORD) (l))#endif#ifndef HIWORD #define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF))#endif#ifndef ABS #define ABS(x) ( ((x)<0) ? -(x) : (x) )#endif#ifdef BLACK_PEN #undef BLACK_PEN#endif#ifdef NO_ERROR #undef NO_ERROR#endifAPDK_BEGIN_NAMESPACE//! \internal For use in connection with PCL media-type command. Values are PCL codes.enum MediaType{ mediaAuto = -1, mediaPlain = 0, mediaBond = 0, mediaSpecial = 2, mediaGlossy = 3, mediaTransparency = 4, mediaHighresPhoto = 5 // used by vip printers for 2400 mode};//! \internal For use in connection with PCL media-size command. Values are PCL codes.enum MediaSize{ sizeUSLetter = 2, sizeUSLegal = 3, sizeA4 = 26, sizeNum10Env = 81, sizeA2Env = 109, sizeC6Env = 92, sizeDLEnv = 90, size3JPNEnv = 110, size4JPNEnv = 111, sizePhoto = 74, // 4x6 Index Card / Photo paper sizeA6 = 73, // used to be 24, full-bleed support is for 73 only. Is same size though sizeB4 = 46, sizeB5 = 45, sizeOUFUKU = 72, sizeHAGAKI = 71, sizeA3 = 27, sizeA5 = 25, sizeSuperB = 16, sizeLedger = 6, sizeFLSA = 10, sizeExecutive = 1, sizeCustom = 101};//! \internal For use in connection with PCL media-source command. Values are PCL codes.enum MediaSource{ sourceTrayMin = -2, sourceTray1 = 1, sourceManual = 2, sourceManualEnv = 3, sourceTray2 = 4, sourceDuplexerNHagakiFeed = 5, sourceTrayAuto = 7, sourceTrayMax = 50};//! \internal For use in connection with PCL quality-mode command. Values are PCL codes.enum Quality{ qualityDraft = -1, qualityNormal = 0, qualityPresentation = 1};//! \internal For use in connection with fullbleed support. Values are type of fullbleed.enum FullbleedType{ fullbleedNotSupported = 0, fullbleed3EdgeAllMedia = 1, fullbleed3EdgePhotoMedia = 2, fullbleed3EdgeNonPhotoMedia = 3, fullbleed4EdgeAllMedia = 4, fullbleed4EdgePhotoMedia = 5, fullbleed4EdgeNonPhotoMedia = 6};enum FontIndex{ COURIER_INDEX = 1, CGTIMES_INDEX = 2, LETTERGOTHIC_INDEX = 3, UNIVERS_INDEX = 4};const int MAX_CHAR_SET = 5;const int MAX_POINTSIZES = 5;const int MAXCOLORDEPTH = 3;const int MAXCOLORPLANES = 6; // current max anticipated, 6 for 690 photopenconst int MAXCOLORROWS = 2; // multiple of high-to-low for mixed-resolution cases// ** JOB related structures/enums//! Possible pen combinationsenum PEN_TYPE{ BLACK_PEN, //!< Only BLACK pen in the printer COLOR_PEN, //!< Only COLOR pen in the printer BOTH_PENS, //!< BLACK & COLOR pens in printer MDL_PEN, //!< Photo pen in the printer MDL_BOTH, //!< COLOR and Photo pen in printer MDL_AND_BLACK_PENS, //!< BLACK and Photo pen in printer MDL_BLACK_AND_COLOR_PENS, //!< BLACK, COLOR and Photo pen in printer GREY_PEN, //!< Only GREY pen in the printer GREY_BOTH, //!< COLOR and GREY pen in the printer MDL_AND_GREY_PENS, //!< GREY and Photo pen in printer MDL_GREY_AND_COLOR_PENS, //!< GREY, COLOR, and Photo pen in the printer UNKNOWN_PEN, //!< New Pen type that we have no knowledge yet // if more pen or pen combos are added then add them here and point MAX_PEN_TYPE to the last one NO_PEN, //!< No pens in the printer DUMMY_PEN, //!< Not a possible value - used for initialization MAX_PEN_TYPE = UNKNOWN_PEN //!< base 0, ending with MDL_BOTH (NOT NO_PEN)};//const int MAX_PEN_TYPE = 4;//! Supported Paper sizes/*The PAPER_SIZE enum is directly supported by PSM in PrintContextdo not change the order of the PAPER_SIZE enum. The static array inPrintContext depends on this order. Any changes to this enum may requirechanges to the PSM array.*/typedef enum // typedef'ed for C interface{ UNSUPPORTED_SIZE =-1, //!< Not supported paper size (also used as mandatory flag)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -