📄 stylemap.c
字号:
/*
* msstyle data maps
*
* Copyright (C) 2004 Kevin Koltzau
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "tmschema.h"
#define TMT_ENUM 200
typedef struct _MSSTYLES_PROPERTY_MAP {
WORD dwPrimitiveType;
WORD dwPropertyID;
WCHAR szPropertyName[24];
} MSSTYLES_PROPERTY_MAP, *PMSSTYLES_PROPERTY_MAP;
typedef struct _MSSTYLES_ENUM_MAP {
WORD dwEnum;
WORD dwValue;
WCHAR szValueName[18];
} MSSTYLES_ENUM_MAP, *PMSSTYLES_ENUM_MAP;
typedef struct _MSSTYLES_CLASS_MAP {
WORD dwPartID;
WORD dwStateID;
WCHAR szName[31];
} MSSTYLES_CLASS_MAP, *PMSSTYLES_CLASS_MAP;
typedef struct _MSSTYLES_CLASS_NAME {
const MSSTYLES_CLASS_MAP *lpMap;
WCHAR pszClass[12];
} MSSTYLES_CLASS_NAME, *PMSSTYLES_CLASS_NAME;
/***********************************************************************
* Map property names to IDs & primitive types
* PrimitiveType,PropertyID,PropertyName
*/
static const MSSTYLES_PROPERTY_MAP mapProperty[] = {
{TMT_STRING,TMT_STRING,{'S','T','R','I','N','G','\0'}},
{TMT_INT,TMT_INT,{'I','N','T','\0'}},
{TMT_BOOL,TMT_BOOL,{'B','O','O','L','\0'}},
{TMT_COLOR,TMT_COLOR,{'C','O','L','O','R','\0'}},
{TMT_MARGINS,TMT_MARGINS,{'M','A','R','G','I','N','S','\0'}},
{TMT_FILENAME,TMT_FILENAME,{'F','I','L','E','N','A','M','E','\0'}},
{TMT_SIZE,TMT_SIZE,{'S','I','Z','E','\0'}},
{TMT_POSITION,TMT_POSITION,{'P','O','S','I','T','I','O','N','\0'}},
{TMT_RECT,TMT_RECT,{'R','E','C','T','\0'}},
{TMT_FONT,TMT_FONT,{'F','O','N','T','\0'}},
{TMT_INTLIST,TMT_INTLIST,{'I','N','T','L','I','S','T','\0'}},
{TMT_STRING,TMT_COLORSCHEMES,{'C','O','L','O','R','S','C','H','E','M','E','S','\0'}},
{TMT_STRING,TMT_SIZES,{'S','I','Z','E','S','\0'}},
{TMT_INT,TMT_CHARSET,{'C','H','A','R','S','E','T','\0'}},
{TMT_STRING,TMT_DISPLAYNAME,{'D','I','S','P','L','A','Y','N','A','M','E','\0'}},
{TMT_STRING,TMT_TOOLTIP,{'T','O','O','L','T','I','P','\0'}},
{TMT_STRING,TMT_COMPANY,{'C','O','M','P','A','N','Y','\0'}},
{TMT_STRING,TMT_AUTHOR,{'A','U','T','H','O','R','\0'}},
{TMT_STRING,TMT_COPYRIGHT,{'C','O','P','Y','R','I','G','H','T','\0'}},
{TMT_STRING,TMT_URL,{'U','R','L','\0'}},
{TMT_STRING,TMT_VERSION,{'V','E','R','S','I','O','N','\0'}},
{TMT_STRING,TMT_DESCRIPTION,{'D','E','S','C','R','I','P','T','I','O','N','\0'}},
{TMT_FONT,TMT_CAPTIONFONT,{'C','A','P','T','I','O','N','F','O','N','T','\0'}},
{TMT_FONT,TMT_SMALLCAPTIONFONT,{'S','M','A','L','L','C','A','P','T','I','O','N','F','O','N','T','\0'}},
{TMT_FONT,TMT_MENUFONT,{'M','E','N','U','F','O','N','T','\0'}},
{TMT_FONT,TMT_STATUSFONT,{'S','T','A','T','U','S','F','O','N','T','\0'}},
{TMT_FONT,TMT_MSGBOXFONT,{'M','S','G','B','O','X','F','O','N','T','\0'}},
{TMT_FONT,TMT_ICONTITLEFONT,{'I','C','O','N','T','I','T','L','E','F','O','N','T','\0'}},
{TMT_BOOL,TMT_FLATMENUS,{'F','L','A','T','M','E','N','U','S','\0'}},
{TMT_SIZE,TMT_SIZINGBORDERWIDTH,{'S','I','Z','I','N','G','B','O','R','D','E','R','W','I','D','T','H','\0'}},
{TMT_SIZE,TMT_SCROLLBARWIDTH,{'S','C','R','O','L','L','B','A','R','W','I','D','T','H','\0'}},
{TMT_SIZE,TMT_SCROLLBARHEIGHT,{'S','C','R','O','L','L','B','A','R','H','E','I','G','H','T','\0'}},
{TMT_SIZE,TMT_CAPTIONBARWIDTH,{'C','A','P','T','I','O','N','B','A','R','W','I','D','T','H','\0'}},
{TMT_SIZE,TMT_CAPTIONBARHEIGHT,{'C','A','P','T','I','O','N','B','A','R','H','E','I','G','H','T','\0'}},
{TMT_SIZE,TMT_SMCAPTIONBARWIDTH,{'S','M','C','A','P','T','I','O','N','B','A','R','W','I','D','T','H','\0'}},
{TMT_SIZE,TMT_SMCAPTIONBARHEIGHT,{'S','M','C','A','P','T','I','O','N','B','A','R','H','E','I','G','H','T','\0'}},
{TMT_SIZE,TMT_MENUBARWIDTH,{'M','E','N','U','B','A','R','W','I','D','T','H','\0'}},
{TMT_SIZE,TMT_MENUBARHEIGHT,{'M','E','N','U','B','A','R','H','E','I','G','H','T','\0'}},
{TMT_INT,TMT_MINCOLORDEPTH,{'M','I','N','C','O','L','O','R','D','E','P','T','H','\0'}},
{TMT_STRING,TMT_CSSNAME,{'C','S','S','N','A','M','E','\0'}},
{TMT_STRING,TMT_XMLNAME,{'X','M','L','N','A','M','E','\0'}},
{TMT_COLOR,TMT_SCROLLBAR,{'S','C','R','O','L','L','B','A','R','\0'}},
{TMT_COLOR,TMT_BACKGROUND,{'B','A','C','K','G','R','O','U','N','D','\0'}},
{TMT_COLOR,TMT_ACTIVECAPTION,{'A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
{TMT_COLOR,TMT_INACTIVECAPTION,{'I','N','A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
{TMT_COLOR,TMT_MENU,{'M','E','N','U','\0'}},
{TMT_COLOR,TMT_WINDOW,{'W','I','N','D','O','W','\0'}},
{TMT_COLOR,TMT_WINDOWFRAME,{'W','I','N','D','O','W','F','R','A','M','E','\0'}},
{TMT_COLOR,TMT_MENUTEXT,{'M','E','N','U','T','E','X','T','\0'}},
{TMT_COLOR,TMT_WINDOWTEXT,{'W','I','N','D','O','W','T','E','X','T','\0'}},
{TMT_COLOR,TMT_CAPTIONTEXT,{'C','A','P','T','I','O','N','T','E','X','T','\0'}},
{TMT_COLOR,TMT_ACTIVEBORDER,{'A','C','T','I','V','E','B','O','R','D','E','R','\0'}},
{TMT_COLOR,TMT_INACTIVEBORDER,{'I','N','A','C','T','I','V','E','B','O','R','D','E','R','\0'}},
{TMT_COLOR,TMT_APPWORKSPACE,{'A','P','P','W','O','R','K','S','P','A','C','E','\0'}},
{TMT_COLOR,TMT_HIGHLIGHT,{'H','I','G','H','L','I','G','H','T','\0'}},
{TMT_COLOR,TMT_HIGHLIGHTTEXT,{'H','I','G','H','L','I','G','H','T','T','E','X','T','\0'}},
{TMT_COLOR,TMT_BTNFACE,{'B','T','N','F','A','C','E','\0'}},
{TMT_COLOR,TMT_BTNSHADOW,{'B','T','N','S','H','A','D','O','W','\0'}},
{TMT_COLOR,TMT_GRAYTEXT,{'G','R','A','Y','T','E','X','T','\0'}},
{TMT_COLOR,TMT_BTNTEXT,{'B','T','N','T','E','X','T','\0'}},
{TMT_COLOR,TMT_INACTIVECAPTIONTEXT,{'I','N','A','C','T','I','V','E','C','A','P','T','I','O','N','T','E','X','T','\0'}},
{TMT_COLOR,TMT_BTNHIGHLIGHT,{'B','T','N','H','I','G','H','L','I','G','H','T','\0'}},
{TMT_COLOR,TMT_DKSHADOW3D,{'D','K','S','H','A','D','O','W','3','D','\0'}},
{TMT_COLOR,TMT_LIGHT3D,{'L','I','G','H','T','3','D','\0'}},
{TMT_COLOR,TMT_INFOTEXT,{'I','N','F','O','T','E','X','T','\0'}},
{TMT_COLOR,TMT_INFOBK,{'I','N','F','O','B','K','\0'}},
{TMT_COLOR,TMT_BUTTONALTERNATEFACE,{'B','U','T','T','O','N','A','L','T','E','R','N','A','T','E','F','A','C','E','\0'}},
{TMT_COLOR,TMT_HOTTRACKING,{'H','O','T','T','R','A','C','K','I','N','G','\0'}},
{TMT_COLOR,TMT_GRADIENTACTIVECAPTION,{'G','R','A','D','I','E','N','T','A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
{TMT_COLOR,TMT_GRADIENTINACTIVECAPTION,{'G','R','A','D','I','E','N','T','I','N','A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
{TMT_COLOR,TMT_MENUHILIGHT,{'M','E','N','U','H','I','L','I','G','H','T','\0'}},
{TMT_COLOR,TMT_MENUBAR,{'M','E','N','U','B','A','R','\0'}},
{TMT_INT,TMT_FROMHUE1,{'F','R','O','M','H','U','E','1','\0'}},
{TMT_INT,TMT_FROMHUE2,{'F','R','O','M','H','U','E','2','\0'}},
{TMT_INT,TMT_FROMHUE3,{'F','R','O','M','H','U','E','3','\0'}},
{TMT_INT,TMT_FROMHUE4,{'F','R','O','M','H','U','E','4','\0'}},
{TMT_INT,TMT_FROMHUE5,{'F','R','O','M','H','U','E','5','\0'}},
{TMT_INT,TMT_TOHUE1,{'T','O','H','U','E','1','\0'}},
{TMT_INT,TMT_TOHUE2,{'T','O','H','U','E','2','\0'}},
{TMT_INT,TMT_TOHUE3,{'T','O','H','U','E','3','\0'}},
{TMT_INT,TMT_TOHUE4,{'T','O','H','U','E','4','\0'}},
{TMT_INT,TMT_TOHUE5,{'T','O','H','U','E','5','\0'}},
{TMT_COLOR,TMT_FROMCOLOR1,{'F','R','O','M','C','O','L','O','R','1','\0'}},
{TMT_COLOR,TMT_FROMCOLOR2,{'F','R','O','M','C','O','L','O','R','2','\0'}},
{TMT_COLOR,TMT_FROMCOLOR3,{'F','R','O','M','C','O','L','O','R','3','\0'}},
{TMT_COLOR,TMT_FROMCOLOR4,{'F','R','O','M','C','O','L','O','R','4','\0'}},
{TMT_COLOR,TMT_FROMCOLOR5,{'F','R','O','M','C','O','L','O','R','5','\0'}},
{TMT_COLOR,TMT_TOCOLOR1,{'T','O','C','O','L','O','R','1','\0'}},
{TMT_COLOR,TMT_TOCOLOR2,{'T','O','C','O','L','O','R','2','\0'}},
{TMT_COLOR,TMT_TOCOLOR3,{'T','O','C','O','L','O','R','3','\0'}},
{TMT_COLOR,TMT_TOCOLOR4,{'T','O','C','O','L','O','R','4','\0'}},
{TMT_COLOR,TMT_TOCOLOR5,{'T','O','C','O','L','O','R','5','\0'}},
{TMT_BOOL,TMT_TRANSPARENT,{'T','R','A','N','S','P','A','R','E','N','T','\0'}},
{TMT_BOOL,TMT_AUTOSIZE,{'A','U','T','O','S','I','Z','E','\0'}},
{TMT_BOOL,TMT_BORDERONLY,{'B','O','R','D','E','R','O','N','L','Y','\0'}},
{TMT_BOOL,TMT_COMPOSITED,{'C','O','M','P','O','S','I','T','E','D','\0'}},
{TMT_BOOL,TMT_BGFILL,{'B','G','F','I','L','L','\0'}},
{TMT_BOOL,TMT_GLYPHTRANSPARENT,{'G','L','Y','P','H','T','R','A','N','S','P','A','R','E','N','T','\0'}},
{TMT_BOOL,TMT_GLYPHONLY,{'G','L','Y','P','H','O','N','L','Y','\0'}},
{TMT_BOOL,TMT_ALWAYSSHOWSIZINGBAR,{'A','L','W','A','Y','S','S','H','O','W','S','I','Z','I','N','G','B','A','R','\0'}},
{TMT_BOOL,TMT_MIRRORIMAGE,{'M','I','R','R','O','R','I','M','A','G','E','\0'}},
{TMT_BOOL,TMT_UNIFORMSIZING,{'U','N','I','F','O','R','M','S','I','Z','I','N','G','\0'}},
{TMT_BOOL,TMT_INTEGRALSIZING,{'I','N','T','E','G','R','A','L','S','I','Z','I','N','G','\0'}},
{TMT_BOOL,TMT_SOURCEGROW,{'S','O','U','R','C','E','G','R','O','W','\0'}},
{TMT_BOOL,TMT_SOURCESHRINK,{'S','O','U','R','C','E','S','H','R','I','N','K','\0'}},
{TMT_INT,TMT_IMAGECOUNT,{'I','M','A','G','E','C','O','U','N','T','\0'}},
{TMT_INT,TMT_ALPHALEVEL,{'A','L','P','H','A','L','E','V','E','L','\0'}},
{TMT_INT,TMT_BORDERSIZE,{'B','O','R','D','E','R','S','I','Z','E','\0'}},
{TMT_INT,TMT_ROUNDCORNERWIDTH,{'R','O','U','N','D','C','O','R','N','E','R','W','I','D','T','H','\0'}},
{TMT_INT,TMT_ROUNDCORNERHEIGHT,{'R','O','U','N','D','C','O','R','N','E','R','H','E','I','G','H','T','\0'}},
{TMT_INT,TMT_GRADIENTRATIO1,{'G','R','A','D','I','E','N','T','R','A','T','I','O','1','\0'}},
{TMT_INT,TMT_GRADIENTRATIO2,{'G','R','A','D','I','E','N','T','R','A','T','I','O','2','\0'}},
{TMT_INT,TMT_GRADIENTRATIO3,{'G','R','A','D','I','E','N','T','R','A','T','I','O','3','\0'}},
{TMT_INT,TMT_GRADIENTRATIO4,{'G','R','A','D','I','E','N','T','R','A','T','I','O','4','\0'}},
{TMT_INT,TMT_GRADIENTRATIO5,{'G','R','A','D','I','E','N','T','R','A','T','I','O','5','\0'}},
{TMT_INT,TMT_PROGRESSCHUNKSIZE,{'P','R','O','G','R','E','S','S','C','H','U','N','K','S','I','Z','E','\0'}},
{TMT_INT,TMT_PROGRESSSPACESIZE,{'P','R','O','G','R','E','S','S','S','P','A','C','E','S','I','Z','E','\0'}},
{TMT_INT,TMT_SATURATION,{'S','A','T','U','R','A','T','I','O','N','\0'}},
{TMT_INT,TMT_TEXTBORDERSIZE,{'T','E','X','T','B','O','R','D','E','R','S','I','Z','E','\0'}},
{TMT_INT,TMT_ALPHATHRESHOLD,{'A','L','P','H','A','T','H','R','E','S','H','O','L','D','\0'}},
{TMT_SIZE,TMT_WIDTH,{'W','I','D','T','H','\0'}},
{TMT_SIZE,TMT_HEIGHT,{'H','E','I','G','H','T','\0'}},
{TMT_INT,TMT_GLYPHINDEX,{'G','L','Y','P','H','I','N','D','E','X','\0'}},
{TMT_INT,TMT_TRUESIZESTRETCHMARK,{'T','R','U','E','S','I','Z','E','S','T','R','E','T','C','H','M','A','R','K','\0'}},
{TMT_INT,TMT_MINDPI1,{'M','I','N','D','P','I','1','\0'}},
{TMT_INT,TMT_MINDPI2,{'M','I','N','D','P','I','2','\0'}},
{TMT_INT,TMT_MINDPI3,{'M','I','N','D','P','I','3','\0'}},
{TMT_INT,TMT_MINDPI4,{'M','I','N','D','P','I','4','\0'}},
{TMT_INT,TMT_MINDPI5,{'M','I','N','D','P','I','5','\0'}},
{TMT_FONT,TMT_GLYPHFONT,{'G','L','Y','P','H','F','O','N','T','\0'}},
{TMT_FILENAME,TMT_IMAGEFILE,{'I','M','A','G','E','F','I','L','E','\0'}},
{TMT_FILENAME,TMT_IMAGEFILE1,{'I','M','A','G','E','F','I','L','E','1','\0'}},
{TMT_FILENAME,TMT_IMAGEFILE2,{'I','M','A','G','E','F','I','L','E','2','\0'}},
{TMT_FILENAME,TMT_IMAGEFILE3,{'I','M','A','G','E','F','I','L','E','3','\0'}},
{TMT_FILENAME,TMT_IMAGEFILE4,{'I','M','A','G','E','F','I','L','E','4','\0'}},
{TMT_FILENAME,TMT_IMAGEFILE5,{'I','M','A','G','E','F','I','L','E','5','\0'}},
{TMT_FILENAME,TMT_STOCKIMAGEFILE,{'S','T','O','C','K','I','M','A','G','E','F','I','L','E','\0'}},
{TMT_FILENAME,TMT_GLYPHIMAGEFILE,{'G','L','Y','P','H','I','M','A','G','E','F','I','L','E','\0'}},
{TMT_STRING,TMT_TEXT,{'T','E','X','T','\0'}},
{TMT_POSITION,TMT_OFFSET,{'O','F','F','S','E','T','\0'}},
{TMT_POSITION,TMT_TEXTSHADOWOFFSET,{'T','E','X','T','S','H','A','D','O','W','O','F','F','S','E','T','\0'}},
{TMT_POSITION,TMT_MINSIZE,{'M','I','N','S','I','Z','E','\0'}},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -