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

📄 display.h

📁 Centrality Atlas II development software
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * $QNXLicenseC:  * Copyright 2007, 2008, QNX Software Systems.   *   * Licensed under the Apache License, Version 2.0 (the "License"). You   * may not reproduce, modify or distribute this software 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 OF ANY KIND, either express or implied.  *  * This file may contain contributions from others, either as   * contributors under the License or as licensors under other terms.    * Please review this entire file for other proprietary rights or license   * notices, as well as the QNX Development Suite License Guide at   * http://licensing.qnx.com/license-guide/ for other information.  * $  */#ifndef _GRAPHICS_DISPLAY_H_INCLUDED#define _GRAPHICS_DISPLAY_H_INCLUDED#ifndef __TYPES_H_INCLUDED#include <sys/types.h>#endif#ifndef _WIN32#ifdef __QNXNTO__#ifndef __INTTYPES_H_INCLUDED#include <inttypes.h>#endif#endif#ifndef __GULLIVER_H_INCLUDED#include <gulliver.h>#endif#ifndef __PCI_H_INCLUDED#include <hw/pci.h>#endif#ifndef __MMAN_H_INCLUDED#include <sys/mman.h>#endif#endif /* _WIN32 */#ifndef _STDIO_H_INCLUDED#include <stdio.h>#endif#ifndef _WIN32#ifndef	_PM_H_INCLUDED#include <sys/pm.h>#endif#endif /* _WIN32 */#ifndef _GRAPHICS_ROP_H_INCLUDED#include <graphics/rop.h>#endif#ifndef _WIN32#include <semaphore.h>#endif#ifdef _WIN32	#include <gfpr/gfpr.h>	#ifdef _MSC_VER // Win32 Visual C++		#ifdef WINSIM_EXPORTS	    	#define WINSIM_API __declspec(dllexport)		#else			#define WINSIM_API __declspec(dllimport)		#endif			#ifdef SOFT3D_EXPORTS			#define SOFT3D_API __declspec(dllexport)		#else			#define SOFT3D_API __declspec(dllimport)		#endif	#else // Win32 mingw32		#include <stdint.h>		#define WINSIM_API  		#define SOFT3D_API	#endif	typedef uint32_t		disp_paddr_t;	typedef uint32_t		pm_power_mode_t;	typedef uint64_t		paddr_t;#else	#define WINSIM_API  	#define SOFT3D_API	#ifndef __QNXNTO__		#include <sys/cdefs.h>		#ifndef _INTTYPES_H_INCLUDED			typedef char				int8_t;			typedef short				int16_t;			typedef short				int16_t;			typedef unsigned char			uint8_t;			typedef unsigned short			uint16_t;			typedef unsigned long			uint32_t;	/* This line may have to be omitted, depending on which version of the QNX4 header files you build against */			typedef int8_t				_int8;			typedef int16_t				_int16;			typedef uint8_t				_uint8;			typedef uint16_t			_uint16;			typedef uint32_t			_uint32;		#endif		typedef uint32_t			disp_paddr_t;		typedef uint32_t			uintptr_t;	#else		typedef uint64_t			disp_paddr_t;	#endif	#ifndef _HW_INOUT_INCLUDED		#include <hw/inout.h>	#endif#endif /* _WIN32 */#define DISP_MAX_MODES			72/* * Supported layer formats; note that a layer format is comprised of * of one or more surface formats.  Please don't use the most significant bit. */#define DISP_LAYER_FORMAT_PAL8		0x00000000#define DISP_LAYER_FORMAT_ARGB1555	0x00000001#define DISP_LAYER_FORMAT_RGB565	0x00000002#define DISP_LAYER_FORMAT_RGB888	0x00000003#define DISP_LAYER_FORMAT_ARGB8888	0x00000004#define DISP_LAYER_FORMAT_RGB556	0x00000005#define DISP_LAYER_FORMAT_BYTES		0x00000006#define DISP_LAYER_FORMAT_YUY2		0x00010000	/* Packed YUV, 16bpp: Y8U8Y8V8 */#define DISP_LAYER_FORMAT_UYVY		0x00010001	/* Packed YUV, 16bpp: U8Y8V8Y8 */#define DISP_LAYER_FORMAT_YVYU		0x00010002	/* Packed YUV, 16bpp: Y8V8Y8U8 */#define DISP_LAYER_FORMAT_V422		0x00010003	/* Packed YUV, 16bpp: V8Y8U8Y8 */#define DISP_LAYER_FORMAT_NV12		0x00010004	/* Y plane immediately followed by packed UV plane, one U sample and one V sample per 2x2 block of Y */#define DISP_LAYER_FORMAT_AYUV		0x00010005	/* Packed YUV, 32bpp: V8U8Y8A8 */#define DISP_LAYER_FORMAT_YVU9		0x00020000	/* Planar YUV, one U sample and one V sample per 4x4 block of Y */#define DISP_LAYER_FORMAT_YV12		0x00020001	/* Planar YUV, one U sample and one V sample per 2x2 block of Y */#define DISP_LAYER_FORMAT_YUV420	0x00020002	/* Planar YUV, one U sample and one V sample per 2x1 block of Y *//* surface formats - upper byte specifies bits per pixel */#define DISP_SURFACE_FORMAT_BYTES	0x08000000#define DISP_SURFACE_FORMAT_PAL8	0x08000001#define DISP_SURFACE_FORMAT_ARGB1555	0x10000002#define DISP_SURFACE_FORMAT_RGB565	0x10000003#define DISP_SURFACE_FORMAT_RGB888	0x18000004#define DISP_SURFACE_FORMAT_ARGB8888	0x20000005#define DISP_SURFACE_FORMAT_RGBA8888	0x20000006#define DISP_SURFACE_FORMAT_PAL4	0x04000006#define DISP_SURFACE_FORMAT_RGB556	0x10000007/* Packed YUV formats */#define DISP_SURFACE_FORMAT_PACKEDYUV_IYU1	0x0c40000a#define DISP_SURFACE_FORMAT_PACKEDYUV_IYU2	0x1840000b#define DISP_SURFACE_FORMAT_PACKEDYUV_UYVY	0x1040000c#define DISP_SURFACE_FORMAT_PACKEDYUV_YUY2	0x1040000d#define DISP_SURFACE_FORMAT_PACKEDYUV_YVYU	0x1040000e#define DISP_SURFACE_FORMAT_PACKEDYUV_V422	0x1040000f#define DISP_SURFACE_FORMAT_PACKEDYUV_CLJR	0x08400010#define DISP_SURFACE_FORMAT_PACKEDYUV_AYUV	0x20400011/* YUV planar surface types */#define DISP_SURFACE_FORMAT_YPLANE		0x00400011#define DISP_SURFACE_FORMAT_UPLANE		0x00400012#define DISP_SURFACE_FORMAT_VPLANE		0x00400013/* Useful macros to operate on surface types */#define DISP_BITS_PER_PIXEL(__fmt)	((__fmt) >> 24)#define DISP_BYTES_PER_PIXEL(__fmt)	(((__fmt) + 0x7000000) >> 27)#define DISP_SURFACE_ISPAL(__fmt)	(((__fmt) & 0x00800000) || ((__fmt) ==  DISP_SURFACE_FORMAT_PAL4) || ((__fmt) ==  DISP_SURFACE_FORMAT_PAL8))#define DISP_SURFACE_ISYUV(__fmt)	((__fmt) & 0x00400000)/* RGB true color macros */#define DISP_TRUE_BLUE(color)	((color) & 0xff)#define DISP_TRUE_GREEN(color)	(((color) & 0xff00) >> 8)#define DISP_TRUE_RED(color)	(((color) & 0xff0000) >> 16)#define DISP_TRUE_ALPHA(color)	(((color) & 0xff000000) >> 24)#define DISP_MK_TRUECOLOR(a, r, g, b) \				((a) << 24 | (r) << 16 | (g) << 8 | b)/* Alpha Blending multiplier origins */#define DISP_ALPHA_M1_SRC_PIXEL_ALPHA		0x00010000	/* "M1" comes from the source pixels alpha component */#define DISP_ALPHA_M1_DST_PIXEL_ALPHA		0x00020000	/* "M1" comes from the destination pixels alpha component */#define DISP_ALPHA_M1_GLOBAL			0x00040000	/* "M1" comes from the global multiplier 1 */#define DISP_ALPHA_M1_MAP			0x00080000	/* "M1" comes from the Alpha map */#define DISP_ALPHA_M2_SRC_PIXEL_ALPHA		0x01000000	/* "M2" comes from the source pixels alpha component */#define DISP_ALPHA_M2_DST_PIXEL_ALPHA		0x02000000	/* "M2" comes from the destination pixels alpha component */#define DISP_ALPHA_M2_GLOBAL			0x04000000	/* "M2" comes from the global multiplier 2 */#define DISP_ALPHA_M2_MAP			0x08000000	/* "M2" comes from the Alpha map */#define DISP_ALPHA_M1_ORIGIN(__mode)		((__mode) & 0x00ff0000)#define DISP_ALPHA_M2_ORIGIN(__mode)		((__mode) & 0x0f000000)#define DISP_ALPHA_TEST				0x10000000	/* Alpha test instead of blend */#define DISP_ALPHA_MERGE			0x20000000	/* Merge two semi-transparent images with per-pixel alpha (experimental) *//* Alpha Blending Source Factor */#define DISP_BLEND_SRC_0			0x0000		/* (0,0,0,0) */#define DISP_BLEND_SRC_M1			0x0100		/* (M1,M1,M1,M1) */#define DISP_BLEND_SRC_1mM1			0x0200		/* (1-M1,1-M1,1-M1,1-M1) */#define DISP_BLEND_SRC_1mD 			0x0300		/* (1-M2,1-Rd,1-Gd,1-Bd) */#define DISP_BLEND_SRC_M2			0x0400		/* (M2,M2,M2,M2) */#define DISP_BLEND_SRC_D			0x0500		/* (M2,Rd,Gd,Bd) */#define DISP_BLEND_SRC_1			0x0600		/* (1,1,1,1) */#define DISP_BLEND_SRC_A1M1			0x0700		/* (1,M1,M1,M1) */#define DISP_BLEND_SRC_1mM2			0x0800		/* (1-M2,1-M2,1-M2,1-M2) */#define DISP_BLEND_SRC_1mA1M1			0x0900		/* (1-1,1-M1,1-M1,1-M1) */#define DISP_BLEND_SRC_A1M2			0x0A00		/* (1,M2,M2,M2) */#define DISP_BLEND_SRC_1mA1M2			0x0B00		/* (1-1,1-M2,1-M2,1-M2) */#define DISP_BLEND_SRC_A0M1			0x0C00		/* (0,M1,M1,M1) */#define DISP_BLEND_SRC_1mA0M1			0x0D00		/* (1-0,1-M1,1-M1,1-M1) */#define DISP_BLEND_SRC_A0M2			0x0E00		/* (0,M2,M2,M2) */#define DISP_BLEND_SRC_1mA0M2			0x0F00		/* (1-0,1-M2,1-M2,1-M2) */#define DISP_BLEND_SRC_M1_ALPHA			DISP_BLEND_SRC_M1	#define DISP_BLEND_SRC_ONE_MINUS_M1_ALPHA	DISP_BLEND_SRC_1mM1	#define DISP_BLEND_SRC_M2_ALPHA			DISP_BLEND_SRC_M2#define DISP_BLEND_SRC_ONE_MINUS_M2_ALPHA	DISP_BLEND_SRC_1mM2#define DISP_BLEND_SRC_GET(__mode)		((__mode) & 0xff00)/* Alpha Blending Destination Factor */#define DISP_BLEND_DST_0			0x00		/* (0,0,0,0) */#define DISP_BLEND_DST_M1			0x01		/* (M1,M1,M1,M1) */#define DISP_BLEND_DST_1mM1			0x02		/* (1-M1,1-M1,1-M1,1-M1) */#define DISP_BLEND_DST_1mS 			0x03		/* (1-M1,1-Rs,1-Gs,1-Bs) */#define DISP_BLEND_DST_M2			0x04		/* (M2,M2,M2,M2) */#define DISP_BLEND_DST_S			0x05		/* (M1,Rs,Gs,Bs) */#define DISP_BLEND_DST_1			0x06		/* (1,1,1,1) */#define DISP_BLEND_DST_A1M1			0x07		/* (1,M1,M1,M1) */#define DISP_BLEND_DST_1mM2			0x08		/* (1-M2,1-M2,1-M2,1-M2) */#define DISP_BLEND_DST_1mA1M1			0x09		/* (1-1,1-M1,1-M1,1-M1) */#define DISP_BLEND_DST_A1M2			0x0A		/* (1,M2,M2,M2) */#define DISP_BLEND_DST_1mA1M2			0x0B		/* (1-1,1-M2,1-M2,1-M2) */#define DISP_BLEND_DST_A0M1			0x0C		/* (0,M1,M1,M1) */#define DISP_BLEND_DST_1mA0M1			0x0D		/* (1-0,1-M1,1-M1,1-M1) */#define DISP_BLEND_DST_A0M2			0x0E		/* (0,M2,M2,M2) */#define DISP_BLEND_DST_1mA0M2			0x0F		/* (1-0,1-M2,1-M2,1-M2) */#define DISP_BLEND_DST_M1_ALPHA			DISP_BLEND_DST_M1	#define DISP_BLEND_DST_ONE_MINUS_M1_ALPHA	DISP_BLEND_DST_1mM1	#define DISP_BLEND_DST_M2_ALPHA			DISP_BLEND_DST_M2#define DISP_BLEND_DST_ONE_MINUS_M2_ALPHA	DISP_BLEND_DST_1mM2#define DISP_BLEND_DST_GET(__mode)		((__mode) & 0x00ff)/* Alpha Tests Pixels are written in destination */#define DISP_TEST_NEVER				0x00		/* Never */#define DISP_TEST_ALWAYS			0x01		/* Always */#define DISP_TEST_LESS_THAN			0x02		/* if M1 < M2 */#define DISP_TEST_LESS_THAN_OR_EQUAL		0x03		/* if M1 <= M2 */#define DISP_TEST_EQUAL				0x04		/* if M1 == M2 */#define DISP_TEST_GREATER_THAN_OR_EQUAL		0x05		/* if M1 >= M2 */#define DISP_TEST_GREATER_THAN			0x06		/* if M1 > M2*/#define DISP_TEST_NOT_EQUAL			0x07		/* if M1 != M2 */#define DISP_TEST_GET(__mode)			((__mode) & 0x00ff)

⌨️ 快捷键说明

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