📄 brw_getset.c
字号:
/**************************************************************************
Copyright (C) 2005 SHENZHEN MEIJIN CO.LTD
FILE NAME: brw_getset.C
MODULE NAME: browser
DESCRIPTION:
对外函数声明:
**************************************************************************
DTAE AUTHOR VERSION REMARKS
=========== ========== ========= ======================================
2006-3-5 gaolinhui V1.0 create
***************************************************************************/
#include "kernel.h"
#include "BrowserIn.h"
/************************************************************************/
/* 函数名称: BrowserSetFontID */
/* 函数描述: 设置字体 */
/* 当前版本: 1.0 */
/* 作 者: gaolinhui */
/* 输入参数: */
/* handle - 对象句柄 */
/* 输出参数: */
/* NONE */
/* 返回值 : */
/* NONE */
/* 更改记录: */
/* =====================================================================*/
/* 日期 人员 版本 描述 */
/* =====================================================================*/
/* 2006-3-1 gaolinhui 1.0 创建 */
/************************************************************************/
VOID BrowserSetFontID(MBrowser *handle)
{
UINT16 font,oldFont;
oldFont = FontGetLib();
if (handle->pBrwInfo->wStates & BROWSER_STATE_DICTITEM)
{
/*
if (handle->wFontID == SYSFONT_DIFFGBK16)
{
font = SYSFONT_DIFFGBK24;
}
else if (handle->wFontID == SYSFONT_DIFFGBK12)
{
font = SYSFONT_DIFFGBK16;
}
else if (handle->wFontID == SYSFONT_DIFFGBK24)
{
font = SYSFONT_DIFFGBK24;
}
else
{
*/
font = FONT16_BLOD_FONT; //handle->wFontID;
// }
}
else
{
font = handle->pBrwInfo->wFontID;
}
if (handle->pBrwInfo->wStates & BROWSER_STATE_BOLD)
{
font = FONT16_BLOD_FONT;
}
else if (handle->pBrwInfo->wStates & BROWSER_STATE_ITALIC)
{
font = FONT16_ITALIC_FONT;
}
else if (handle->pBrwInfo->wStates & BROWSER_STATE_BLACK)
{
//font += SYSFONT_HTTYPE;
}
else
{
font = handle->pBrwInfo->wFontID;
}
if (handle->pBrwInfo->wStates & BROWSER_STATE_MARK_KEY)
{
SetFontInvertStyle();
}
else
{
ClrFontInvertStyle();
}
if (font != oldFont)
{
GraphSetFontID(font);
}
}
/************************************************************************/
/* 函数名称: BrowserSetPositionFont */
/* 函数描述: 设置指定位置的字体 */
/* 当前版本: 1.0 */
/* 作 者: gaolinhui */
/* 输入参数: */
/* handle - 对象句柄 */
/* ptr - 数据指针 */
/* 输出参数: */
/* NONE */
/* 返回值 : */
/* NONE */
/* 更改记录: */
/* =====================================================================*/
/* 日期 人员 版本 描述 */
/* =====================================================================*/
/* 2006-3-1 gaolinhui 1.0 创建 */
/************************************************************************/
VOID BrowserSetPositionFont(MBrowser *handle,UINT8 *ptr)
{
#if 1
UINT16 states;
UINT32 Line;
BOOL bMarking,bHot;
MLineInfo LineInfo;
BrowserNodeInfo* pNode;
UINT i;
UINT8 *pStart;
UINT16 wMoveLen,wUnitWidth;
/*找到当前位置对应行*/
pNode = handle->pBrwInfo->pNodeInfo;
for(i=0; (pNode[i].pLinePtr<=ptr)
&&(pNode[i].pLinePtr != NULL); i++)
{
}
if(i>0)
i--;
if(pNode[i].pLinePtr == NULL)
{
return ;
}
#if !defined(BORWSER_RECORD_EVERY)
i = i*BROWSER_NODE_LEN; //转化为行号
GetLineInfo(handle, i, &LineInfo);
while((LineInfo.pLinePtr<=ptr)&&(LineInfo.pLinePtr != NULL))
{
i++;
GetLineInfo(handle, i, &LineInfo);
}
if (i > 0)
{
i--;
}
#endif
if(!GetLineInfo(handle,i,&LineInfo))
{
return;
}
/*保存MARK标记*/
bMarking = (handle->pBrwInfo->wStates & BROWSER_STATE_MARKING);
bHot = (handle->pBrwInfo->wStates & BROWSER_STATE_UNDERLINE);
Line = i;
/*对应行状态*/
if(!GetLineInfo(handle, Line, &LineInfo))
{
return ;
}
states = LineInfo.wStates;
pStart = LineInfo.pLinePtr;
/*设置行状态*/
handle->pBrwInfo->wStates = states;
if (handle->pBrwInfo->wStates & BROWSER_STATE_TAB)
{
handle->pBrwInfo->byTabGrade = 1;
}
while (pStart < ptr)
{
wUnitWidth = BrowserGetOneUnit(handle,
pStart,NULL,&wMoveLen,BROWSER_SCANNING);
if (wUnitWidth == 0)
{
break;
}
pStart += wMoveLen;
}
/*根据状态设置相应字体*/
BrowserSetFontID(handle);
/*恢复MARK状态*/
if (bMarking)
{
handle->pBrwInfo->wStates |= BROWSER_STATE_MARKING;
}
if (bHot)
{
handle->pBrwInfo->wStates |= BROWSER_STATE_UNDERLINE;
}
#endif
/*gaolinhui, 060727 ADDED*/
/* if (handle->pBrwInfo->wStates & BROWSER_STATE_TAB)
{
handle->pBrwInfo->byTabGrade = 1;
}*/
}
BOOL __BrowserSetTopLine(MBrowser *handle, UINT32 dwTopLine,BOOL bReDraw)
{
if(!handle->pBrwInfo)
{
return FALSE;
}
if (handle->pBrwInfo->bFinished)
{
/* //调整顶行
handle->pBrwInfo->dwTopLine = BrowerAdjustTopLine(handle,dwTopLine);
*/
/**********************************************************************/
//gaolinhui , 06.4.11, 去除顶行调整.
if(dwTopLine > handle->pBrwInfo->dwTotalLine-1)
{
dwTopLine = handle->pBrwInfo->dwTotalLine-1;
}
handle->pBrwInfo->dwTopLine = dwTopLine;
/**********************************************************************/
if (bReDraw)
{
BrowserDrawPage(handle);
}
else
{
handle->pBrwInfo->wStates |= BROWSER_STATE_NODRAW;
}
return TRUE;
}
else
{
return FALSE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -