📄 icons.c
字号:
/* * icons.c * Copyright (C) 1998-2001 A.J. van Os; Released under GPL * * Description: * Update window icons */#include <string.h>#include "DeskLib:Error.h"#include "DeskLib:WimpSWIs.h"#include "antiword.h"voidvUpdateIcon(window_handle tWindow, icon_block *pIcon){ window_redrawblock tRedraw; BOOL bMore; tRedraw.window = tWindow; tRedraw.rect = pIcon->workarearect; Error_CheckFatal(Wimp_UpdateWindow(&tRedraw, &bMore)); while (bMore) { Error_CheckFatal(Wimp_PlotIcon(pIcon)); Error_CheckFatal(Wimp_GetRectangle(&tRedraw, &bMore)); }} /* end of vUpdateIcon */voidvUpdateRadioButton(window_handle tWindow, icon_handle tIconNumber, BOOL bSelected){ icon_block tIcon; Error_CheckFatal(Wimp_GetIconState(tWindow, tIconNumber, &tIcon)); DBG_DEC(tIconNumber); DBG_HEX(tIcon.flags.data.selected); if (bSelected == (tIcon.flags.data.selected == 1)) { /* No update needed */ return; } Error_CheckFatal(Wimp_SetIconState(tWindow, tIconNumber, bSelected ? 0x00200000 : 0, 0x00200000)); vUpdateIcon(tWindow, &tIcon);} /* end of vUpdateRadioButton *//* * vUpdateWriteable - update a writeable icon with a string */voidvUpdateWriteable(window_handle tWindow, icon_handle tIconNumber, const char *szString){ icon_block tIcon; caret_block tCaret; int iLen; fail(szString == NULL); NO_DBG_DEC(tIconNumber); NO_DBG_MSG(szString); Error_CheckFatal(Wimp_GetIconState(tWindow, tIconNumber, &tIcon)); NO_DBG_HEX(tIcon.flags); if (!tIcon.flags.data.text || !tIcon.flags.data.indirected) { werr(1, "Icon %d must be indirected text", (int)tIconNumber); return; } strncpy(tIcon.data.indirecttext.buffer, szString, tIcon.data.indirecttext.bufflen - 1); /* Ensure the caret is behind the last character of the text */ Error_CheckFatal(Wimp_GetCaretPosition(&tCaret)); if (tCaret.window == tWindow && tCaret.icon == tIconNumber) { iLen = strlen(tIcon.data.indirecttext.buffer); if (tCaret.index != iLen) { tCaret.index = iLen; Error_CheckFatal(Wimp_SetCaretPosition(&tCaret)); } } Error_CheckFatal(Wimp_SetIconState(tWindow, tIconNumber, 0, 0)); vUpdateIcon(tWindow, &tIcon);} /* end of vUpdateWriteable *//* * vUpdateWriteableNumber - update a writeable icon with a number */voidvUpdateWriteableNumber(window_handle tWindow, icon_handle tIconNumber, int iNumber){ char szTmp[1+3*sizeof(int)+1]; (void)sprintf(szTmp, "%d", iNumber); vUpdateWriteable(tWindow, tIconNumber, szTmp);} /* end of vUpdateWriteableNumber */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -