Files
EF3-Interface/PcDmis/Base/Interfac/Msi/Hsi/Videocard/MV900/COMM.h
T
2014-08-12 13:56:06 +08:00

94 lines
4.2 KiB
C

#ifndef __COMM_H__
#define __COMM_H__
#include "Windows.h"
#ifdef __cplusplus
#define MVVGA extern "C" __declspec (dllexport)
#else
#define MVVGA __declspec (dllexport)
#endif
// 图像内容动态改变消息, WPARAM, LPARAM参数不使用
#define VGA_IMAGECHANGE WM_USER + 1011
// 信号丢失消息, WPARAM, LPARAM参数不使用
#define VGA_SIGNALLOST WM_USER + 1012
// 信号改变消息, WPARAM的高16位为信号有效的高, 低16位为信号有效的宽;
// LPARAM的高16位为信号垂直偏移, 低16位为信号水平偏移;
#define VGA_SIGNALCHANGE WM_USER + 1013
enum VGAPROPERY{ DRV_INDX=0, // 仅读, 返回当前卡的驱动下标
GET_TYPE, // 仅读, 返回当前卡类型
SIG_SOURCE, // 读写, 同步源选择,0--行场分离,1--绿路同步, I/III型卡有效,II/IV型卡无效
SIG_VHZ, // 仅读, 输入信号的场频
SIG_HHZ, // 仅读, 行频率
SIG_HTOTAL, // 读写, 当前信号行内总点数
SIG_VTOTAL, // 读写, 当前信号场内总行数, I/III型卡有效,II/IV型卡无效
SIG_VPOLAR, // 读写, 当前信号场极性, I/III型卡有效,II/IV型卡无效
SIG_PLLV, // 读写, 当前信号PLL电压
SIG_PLLI, // 读写, 当前信号PLL电流
SIG_XOFF, // 读写, 当前信号的水平偏移
SIG_YOFF, // 读写, 当前信号的垂直偏移
SIG_HIGH, // 读写, 当前信号的垂直高度
SIG_WIDTH, // 读写, 当前信号的水平宽度
SIG_FRAME, // 读写, 采集时的桢间隔时间ms级
SIG_UPDOWN, // 读写, 采集时上下翻转
// 设置/得到当前采集图像的尺寸, 但不一定为输入图像信号的大小. 输入的大小如果和
// 输入图像信号的大小对应, 则采集到的图像是未被缩放的原始图像, 否则采集到的图
// 像将被缩放.
OUT_HIGH, // 读写, DSHOW输出窗口高
OUT_WIDTH, // 读写, DSHOW输出窗口宽
OUT_QUALITY, // 读写, 缩放质量选择
CHK_DOING, // 仅写, 手动行场频测试,I型卡有效,II型卡无效
USER_EVENT, // 信号改变/丢失事件,写时初始化,读时反初始化,I型卡无效,II型卡有效
USER_CAUSE, // 被有事件的原因,写无效,读时有效,0-信号正常,1-信号丢失,2-信号改变
RESET_SAVE, // Get 信号文件保存 = 1; 恢复 = 0;
GET_SIGIMAGE, // 未实现,仅为占位,用函数Cap_GetOutImage()和Cap_GetSignalImage()代替
GET_NUMBER, // Get 得当前采集的桢率
SIG_CAPMODE, // 设置板卡采集模式;1 -- 快速模式;0 -- 普通模式
// 调节属性量, 对当前图像的R/G/B分量进行调节, 每个分量都有亮度和对比度两项,
// 值越小表现越明显. 最小的值0, 代表最大的对比度或最大的亮度.
_BRIGHTNESS, // 亮度
_HUE, // 色度
_SATURATION, // 饱和度
_CONTRAST, // 对比度
_GAMMA, //
_SHARPNESS, // 锐利度
_R_GRAY, // VGA卡的R分量的亮度
_G_GRAY, // VGA卡的G分量的亮度
_B_GRAY, // VGA卡的B分量的亮度
_R_CONTRAST, // VGA卡的R分量的对比度
_G_CONTRAST, // VGA卡的G分量的对比度
_B_CONTRAST, // VGA卡的B分量的对比度
//
PIEXL_BIT, // 得到或设置当前采集图像的像素位数, 取值为32(32位RGBa888)/24
// (24位RGB888)/16(16位YUV422)/8(8位灰度图); 能否采集到8位灰
// 度图要根据卡型决定; 对于黑白医疗/雷达信号卡,采集32位/24位
// 时是将8位的图像扩展到真彩色方式输出, 这样不丢失灰度级.
NOTIFY_HWND, // 为VGA_SIGNALLOST和VGA_SIGNALCHANGE消息设置接收窗口句柄
DEV_AVI,
DEV_RAW,
};
typedef struct _DATAGET_{ ULONG Width;
ULONG High;
USHORT nColor;
USHORT bWait;
PUCHAR pData;
}DATAGET, *PDATAGET;
// 画笔样式
enum PEN_STYLE{ _SOLID = 0, _DASH, _DOT, _DASHDOT, _DASHDOTDOT };
// 用户回调函数的原型
// pData : 当该用户回调函数被调用时,该参数为图像数据的缓冲区地址
// Length : 当该用户回调函数被调用时,该参数为图像数据的缓冲区长度
// pUserData: 在设置用户回调函数时传入的用户上下文的指针
typedef VOID (WINAPI *PUSERCALL)( PUCHAR pData, ULONG Length, PVOID pUserData );
// 初始化显示模块时传入的使用DRAW方式的显示的用户回调函数的原型,使用DRAW方式可以在原图像上
// 进行绘制文字和图形体,绘制的时机和过程在该回调函数中完成; 进行绘制使用WINDOWS的点, 线,
// TextOut API绘制.
typedef VOID (WINAPI *USERDRAW)( HDC hDC, PVOID pContext );
#endif //__COMM_H__