⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scemfviewdefs.h

📁 Source code for EMFexplorer 1.0
💻 H
字号:
/*
*	This file is part of the EMFexplorer projet.
*	Copyright (C) 2004 Smith Charles.
*
*	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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.
*
*	Extension: for commercial use, apply the Equity Public License, which
*	adds to the normal terms of the GLPL a condition of donation to the author.
*   If you are interested in support for this source code,
*   contact Smith Charles <smith.charles@free.fr> for more information.
*/
#ifndef _SCEMFVIEWDEFS_H_
#define _SCEMFVIEWDEFS_H_

// Zoom (assuming basic printer DPI as the reference)
#define		SC_FLOATFACTOR		100
#define		SC_MIN_ZOOM			(7*SC_FLOATFACTOR)		// 5 DPI
#define		SC_ZOOM100			(100*SC_FLOATFACTOR)	// 72 DPI (basic printer)
#if 0
	#define	SC_MAX_ZOOM			(1000*SC_FLOATFACTOR)	// 720 DPI
#else
	// too big for this version ? (no if you can wait)
	#define SC_MAX_ZOOM			(1667*SC_FLOATFACTOR)	// 1200 DPI
#endif
// Special values
#define		SC_ZOOM_FITWITDH	-32768
#define		SC_ZOOM_FITPAGE		-32767

// Fit modes
#define		SC_FIT_NONE			0
#define		SC_FIT_WIDTH		1
#define		SC_FIT_PAGE			2

// Engines
#define		SC_ENGINE_GDI		0
#define		SC_ENGINE_GDIP		1

// Color Types
#define		SC_COLOR_TRANSPARENT			0
#define		SC_COLOR_SYSINDEX				1
#define		SC_COLOR_RGBVALUE				2

#define		SC_MAKE_SYSCOLOR(idx)			(0x80000000|idx)
#define		SC_IS_SYSCOLOR(clr)				(0x80000000==(clr & 0xFF000000)) //0x800000ii => system index
#define		SC_IS_RGBCOLOR(clr)				(0x00000000==(clr & 0xFF000000)) //0x00bbggrr => RGB
#define		SC_SYSCOLOR_INDEX(clr)			(clr & 0x000000FF)
#define		SC_RGBCOLOR_VALUE(clr)			(clr & 0x00FFFFFF)

// Color Scheme
	// around image
#define		SC_CSM_CTLCOLOR_TRANSPARENT		SC_COLOR_TRANSPARENT // solved to ambient background
#define		SC_CSM_CTLCOLOR_SYSINDEX		SC_COLOR_SYSINDEX
#define		SC_CSM_CTLCOLOR_RGBVALUE		SC_COLOR_RGBVALUE
#define		SC_CSM_CTLCOLOR_MASK			0x000F
   // under image
#define		SC_CSM_PAPERCOLOR_TRANSPARENT	(SC_COLOR_TRANSPARENT << 4) // solved to control background
#define		SC_CSM_PAPERCOLOR_SYSINDEX		(SC_COLOR_SYSINDEX << 4)
#define		SC_CSM_PAPERCOLOR_RGBVALUE		(SC_COLOR_RGBVALUE << 4)
#define		SC_CSM_PAPERCOLOR_MASK			0x00F0
   // image border
#define		SC_CSM_BORDER_NONE				0x0000
#define		SC_CSM_BORDER_YES				0x0100
#define		SC_CSM_BORDER_MASK				0x0100
  // control border
#define		SC_CSM_CTLBORDER_NONE			0x0000
#define		SC_CSM_CTLBORDER_SIMPLE			0x0200
#define		SC_CSM_CTLBORDER_RAISED			0x0400
#define		SC_CSM_CTLBORDER_MASK			0x0700
   // image shadow
#define		SC_CSM_SHADOW_NONE				0x0000
#define		SC_CSM_SHADOW_YES				0x1000
#define		SC_CSM_SHADOW_MASK				0x1000


///////////////////////////////////////////////////////////////////////////////////////
// Drawing attributes
//

#define SC_TRANSPARENCY_NORMAL				0x0000
#define SC_TRANSPARENCY_WHITE_SKIPBITMAP	0x0001
#define SC_TRANSPARENCY_WHITECOLOR			0x0002
#define SC_TRANSPARENCY_NONE				0x0004
#define SC_TRANSPARENCY_MASK				0x000F
#define SC_TRANSPARENCY(rAttributes)		((rAttributes).dwInkingMode & SC_TRANSPARENCY_MASK)

#define SC_REVERSE_VIDEO_SKIPIMAGES			0x0000
#define SC_REVERSE_VIDEO_FULL				0x0010
#define SC_REVERSE_VIDEO_NONE				0x0020
#define SC_REVERSE_VIDEO_MASK				0x00F0
#define SC_REVERSEVIDEO(rAttributes)		((rAttributes).dwInkingMode & SC_REVERSE_VIDEO_MASK)
#define SC_RVIDEOFULL(rAttributes)			(SC_REVERSE_VIDEO_FULL==((rAttributes).dwInkingMode & SC_REVERSE_VIDEO_MASK))


///////////////////////////////////////////////////////////////////////////////////////
// Some limits
//

#define SC_MIN_TEXTRENDERINGHINT	TextRenderingHintSystemDefault		
#define SC_MIN_TEXTCONTRAST			0
#define SC_MIN_SMOOTHINGMODE		SmoothingModeDefault	
#define SC_MIN_INTERPOLATIONMODE	InterpolationModeDefault	
#define SC_MIN_PIXELOFFSETMODE		PixelOffsetModeDefault

#define SC_MAX_TEXTRENDERINGHINT	TextRenderingHintClearTypeGridFit		
#define SC_MAX_TEXTCONTRAST			12
#define SC_MAX_SMOOTHINGMODE		SmoothingModeAntiAlias	
#define SC_MAX_INTERPOLATIONMODE	InterpolationModeHighQualityBicubic	
#define SC_MAX_PIXELOFFSETMODE		PixelOffsetModeHalf

///////////////////////////////////////////////////////////////////////////////////////
// Some defaults
//

// color schemes
#define SC_DFLT_VIEWCSHM			(SC_CSM_CTLCOLOR_SYSINDEX|SC_CSM_PAPERCOLOR_RGBVALUE|SC_CSM_BORDER_YES|SC_CSM_SHADOW_YES)
#define SC_DFLT_INKINGMODE			(SC_REVERSE_VIDEO_SKIPIMAGES|SC_TRANSPARENCY_WHITECOLOR)

// property values
#define SC_DFLT_CTLBORDER			SC_CSM_CTLBORDER_NONE
#define SC_DFLT_CTLCOLORSTYLE		SC_COLOR_SYSINDEX
#define SC_DFLT_CTLCOLOR			COLOR_3DFACE
	//--
#define SC_DFLT_PAGEBORDERVISIBLE	TRUE
#define SC_DFLT_PAGESHADOWVISIBLE	TRUE
#define SC_DFLT_PAPERCOLORSTYLE		SC_COLOR_RGBVALUE
#define SC_DFLT_PAPERCOLOR			RGB(255, 255, 255)
#define SC_DFLT_FITMODE				SC_FIT_WIDTH
#define SC_DFLT_SCALE				SC_ZOOM100
#define SC_DFLT_MARGINL				32
#define SC_DFLT_MARGINT				32
#define SC_DFLT_MARGINR				32
#define SC_DFLT_MARGINB				32
#define SC_DFLT_PAGEORIENTATION		0
#define SC_DFLT_TRANSPARENCYMODE	SC_TRANSPARENCY_WHITE_SKIPBITMAP
#define SC_DFLT_REVERSEVIDEOMODE	SC_REVERSE_VIDEO_NONE
	//--
#define SC_DFLT_GDIPLUSENABLED		TRUE
#define SC_DFLT_TEXTRENDERINGHINT	TextRenderingHintAntiAlias
#define SC_DFLT_TEXTCONTRAST		2 // hack: 0-12 => from darker to brighter
#define SC_DFLT_SMOOTHINGMODE		SmoothingModeHighQuality
#define SC_DFLT_INTERPOLATIONMODE	InterpolationModeHighQualityBicubic
#define SC_DFLT_PIXELOFFSETMODE		PixelOffsetModeHighQuality
//


///////////////////////////////////////////////////////////////////////////////////////
// Some view defaults
//

#define MNU_IDX_TRACKPOPUP1		0

#define SC_PIX_TXTLINE		16
#define SC_SHADOW_WDT		2
#define MIN_MARGIN			16



#endif //_SCEMFVIEWDEFS_H_
//  ------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -