mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-24 09:14:09 +08:00
for rtems
This commit is contained in:
@@ -22,4 +22,5 @@ Makefile.in
|
||||
/*.pc
|
||||
/*config.h
|
||||
/*config.h.in
|
||||
/*config.h.in~
|
||||
|
||||
|
||||
@@ -102,12 +102,15 @@ for examples:
|
||||
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
||||
components, and other open source apps on GitHub. You can visit them on:
|
||||
|
||||
https://github.com/VincentWei
|
||||
<https://github.com/VincentWei>
|
||||
|
||||
FMSoft also releases miniStudio, which is a WYSIWYG IDE for MiniGUI, as a shareware.
|
||||
You can also download it from the official site of MiniGUI.
|
||||
and
|
||||
|
||||
http://www.minigui.com/en/download
|
||||
<https://github.com/FMSoftCN>
|
||||
|
||||
We now maintain all documents about MiniGUI on the following public repo:
|
||||
|
||||
<https://github.com/VincentWei/minigui-docs>
|
||||
|
||||
|
||||
## A BRIEF BUILDING INSTRUCTION
|
||||
@@ -349,31 +352,48 @@ the commercial license of MiniGUI, please write to sales@minigui.com.
|
||||
|
||||
## COPYING
|
||||
|
||||
Copyright (C) 2002~2019, Beijing FMSoft Technologies Co., Ltd.
|
||||
Copyright (C) 1998~2002, WEI Yongming
|
||||
Copyright (C) 2002 ~ 2019, Beijing FMSoft Technologies Co., Ltd.
|
||||
Copyright (C) 1998 ~ 2002, WEI Yongming
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 General Public License for more details.
|
||||
This program 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Or,
|
||||
Or,
|
||||
|
||||
As this program is a library, any link to this program must follow
|
||||
GNU General Public License version 3 (GPLv3). If you cannot accept
|
||||
GPLv3, you need to be licensed from FMSoft.
|
||||
As this program is a library, any link to this program must follow
|
||||
GNU General Public License version 3 (GPLv3). If you cannot accept
|
||||
GPLv3, you need to be licensed from FMSoft.
|
||||
|
||||
If you have got a commercial license of this program, please use it
|
||||
under the terms and conditions of the commercial license.
|
||||
If you have got a commercial license of this program, please use it
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
### Special Statement
|
||||
|
||||
The above open source or free software license does
|
||||
not apply to any entity in the Exception List published by
|
||||
Beijing FMSoft Technologies Co., Ltd.
|
||||
|
||||
If you are or the entity you represent is listed in the Exception List,
|
||||
the above open source or free software license does not apply to you
|
||||
or the entity you represent. Regardless of the purpose, you should not
|
||||
use the software in any way whatsoever, including but not limited to
|
||||
downloading, viewing, copying, distributing, compiling, and running.
|
||||
If you have already downloaded it, you MUST destroy all of its copies.
|
||||
|
||||
The Exception List is published by FMSoft and may be updated
|
||||
from time to time. For more information, please see
|
||||
<https://www.fmsoft.cn/exception-list>.
|
||||
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ Please report any bugs and incompatibilities in
|
||||
* macro: `_MGUSE_SYNC_UPDATE`
|
||||
1. New API `UpdateInvalidClient`. You can use this function to update
|
||||
the invalid client region of a window instantly.
|
||||
1. New API `LoadDevFontFromFile`. You can use this function to load
|
||||
1. New API `LoadDevFontFromIncoreData`. You can use this function to load
|
||||
a device font from incore data.
|
||||
1. Use different colors for the output of `_DBG_PRINTF` and `_ERR_PRINTF`.
|
||||
1. Add `__mg_save_jpg` function for storing MYBITMAP as JPEG file (10km).
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
./configure \
|
||||
--with-runmode=ths \
|
||||
--disable-dblclk \
|
||||
--disable-cursor \
|
||||
--disable-mousecalibrate \
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# rules for pc-linux
|
||||
|
||||
# set your own targaet_os
|
||||
TARGET_OS=linux
|
||||
|
||||
##################################################
|
||||
# set your compile tool #
|
||||
CC=gcc
|
||||
CXX=g++
|
||||
CPP=g++
|
||||
AR=ar
|
||||
AS=as
|
||||
RANLIB=ranlib
|
||||
MAKE=/usr/bin/make
|
||||
##################################################
|
||||
|
||||
ARFLAGS=-rc
|
||||
COFLAG=-c
|
||||
|
||||
OBJ=o
|
||||
LIBA=a
|
||||
|
||||
##################################################
|
||||
# if you don't want to create dynamic, delete it #
|
||||
LIBSO=so
|
||||
SOFLAGS=-fPIC -shared -o
|
||||
##################################################
|
||||
|
||||
|
||||
##################################################
|
||||
# set your compile flags and install prefix path #
|
||||
PREFIX=/usr/local
|
||||
CFLAGS+=-g -Wall -fPIC `pkg-config --cflags freetype2`
|
||||
LDFLAGS+=
|
||||
##################################################
|
||||
|
||||
+4
-11
@@ -18,7 +18,7 @@ MINIGUI_MAJOR_VERSION=3
|
||||
MINIGUI_MINOR_VERSION=2
|
||||
MINIGUI_MICRO_VERSION=2
|
||||
MINIGUI_INTERFACE_AGE=0
|
||||
MINIGUI_BINARY_AGE=1
|
||||
MINIGUI_BINARY_AGE=2
|
||||
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
|
||||
|
||||
AC_SUBST(MINIGUI_MAJOR_VERSION)
|
||||
@@ -76,7 +76,7 @@ AC_FUNC_ALLOCA
|
||||
AC_FUNC_MEMCMP
|
||||
AC_FUNC_MMAP
|
||||
AC_FUNC_VPRINTF
|
||||
AC_CHECK_FUNCS(time mktime localtime strdup strcasecmp strncasecmp strerror setlocale getpt)
|
||||
AC_CHECK_FUNCS(time mktime localtime strdup strcasecmp strncasecmp strerror setlocale)
|
||||
|
||||
dnl ========================================================================
|
||||
dnl User selectable options
|
||||
@@ -89,8 +89,6 @@ message_string="no"
|
||||
|
||||
runtime_mode="procs"
|
||||
|
||||
stand_alone="no"
|
||||
|
||||
incore_res="no"
|
||||
use_miniguientry="no"
|
||||
fixed_math="yes"
|
||||
@@ -304,10 +302,6 @@ AC_ARG_WITH(runmode,
|
||||
[ --with-runmode=procs/ths/sa the MiniGUI runtime mode <default=procs>],
|
||||
runtime_mode=$withval)
|
||||
|
||||
AC_ARG_ENABLE(standalone,
|
||||
[ --enable-standalone build MiniGUI-Standalone version <default=no>],
|
||||
stand_alone=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(incoreres,
|
||||
[ --enable-incoreres use incore resource instead file IO to initialize MiniGUI <default=no>],
|
||||
incore_res=$enableval)
|
||||
@@ -732,9 +726,8 @@ AC_ARG_ENABLE(ctrlbidisledit,
|
||||
[ --enable-ctrlbidisledit include Single-Line BIDI EDIT control <default=no>],
|
||||
build_ctrl_bidisledit=$enableval)
|
||||
|
||||
dnl enable new textedit
|
||||
AC_ARG_ENABLE(newtextedit,
|
||||
[ --enable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
|
||||
AC_ARG_ENABLE(ctrlnewtextedit,
|
||||
[ --disable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
|
||||
build_ctrl_textedit_new=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(ctrllistbox,
|
||||
|
||||
@@ -871,7 +871,7 @@ typedef LVNM_ITEMRUP *PLVNM_ITEMRUP;
|
||||
*/
|
||||
#define LVM_GETITEMSTATE 0xF128
|
||||
|
||||
/**
|
||||
/*
|
||||
* \def LVM_GETSELECTEDCOLUMN
|
||||
* \brief Retrieves the index of the currently selected column of a listview.
|
||||
*
|
||||
|
||||
+1
-1
@@ -8018,7 +8018,7 @@ MG_EXPORT HDC GUIAPI InitSlaveScreenEx (const char* name, const char* mode, int
|
||||
*
|
||||
* \return Valid handle on success, HDC_INVALID on failure.
|
||||
*/
|
||||
inline HDC InitSlaveScreen (const char* name, const char* mode)
|
||||
static inline HDC InitSlaveScreen (const char* name, const char* mode)
|
||||
{
|
||||
return InitSlaveScreenEx(name, mode, GDCAP_DPI_DEFAULT);
|
||||
}
|
||||
|
||||
+46
-76
@@ -2726,6 +2726,7 @@ MG_EXPORT HCURSOR GUIAPI GetSystemCursor (int csrid);
|
||||
* \return Handle to the current system cursor, zero means no current cursor.
|
||||
*/
|
||||
MG_EXPORT HCURSOR GUIAPI GetCurrentCursor (void);
|
||||
|
||||
#else
|
||||
// #define LoadCursorFromFile(filename) (do_nothing(), 0)
|
||||
// #define CreateCursor(x, y, w, h, ANDbs, XORbs, cr) (do_nothing(), 0)
|
||||
@@ -2866,6 +2867,7 @@ MG_EXPORT void GUIAPI GetCursorPos (POINT* ppt);
|
||||
MG_EXPORT void GUIAPI SetCursorPos (int x, int y);
|
||||
|
||||
#ifdef _MGHAVE_CURSOR
|
||||
|
||||
/**
|
||||
* \fn HCURSOR GUIAPI SetCursorEx (HCURSOR hcsr, BOOL set_def)
|
||||
* \brief Changes the current cursor.
|
||||
@@ -2884,7 +2886,7 @@ MG_EXPORT void GUIAPI SetCursorPos (int x, int y);
|
||||
*
|
||||
* \sa SetCursor, SetDefaultCursor, GetDefaultCursor
|
||||
*/
|
||||
MG_EXPORT HCURSOR GUIAPI SetCursorEx (HCURSOR hcsr, BOOL set_def);
|
||||
MG_EXPORT HCURSOR GUIAPI SetCursorEx (HCURSOR hcsr, BOOL set_def);
|
||||
|
||||
/**
|
||||
* \fn HCURSOR GUIAPI GetDefaultCursor (void)
|
||||
@@ -2898,77 +2900,6 @@ MG_EXPORT void GUIAPI SetCursorPos (int x, int y);
|
||||
*/
|
||||
MG_EXPORT HCURSOR GUIAPI GetDefaultCursor (void);
|
||||
|
||||
#else
|
||||
static inline HCURSOR SetCursorEx(HCURSOR hcsr, BOOL set_def) {
|
||||
return (HCURSOR)0;
|
||||
}
|
||||
|
||||
static inline HCURSOR GetDefaultCursor(void) {
|
||||
return (HCURSOR)0;
|
||||
}
|
||||
|
||||
#endif /* _MGHAVE_CURSOR */
|
||||
|
||||
/**
|
||||
* \def SetCursor(hcsr)
|
||||
* \brief Changes the current cursor.
|
||||
*
|
||||
* This function changes the current cursor to be \a hcsr.
|
||||
*
|
||||
* \param hcsr The expected cursor handle.
|
||||
* \return The old cursor handle.
|
||||
*
|
||||
* \note This function defined as a macro calling \a SetCursorEx with
|
||||
* passing \a set_def as FALSE.
|
||||
*
|
||||
* \sa SetCursorEx, SetDefaultCursor
|
||||
*/
|
||||
#define SetCursor(hcsr) SetCursorEx (hcsr, FALSE)
|
||||
|
||||
/**
|
||||
* \def SetDefaultCursor(hcsr)
|
||||
* \brief Changes the current cursor, and set it as the default cursor.
|
||||
*
|
||||
* This function changes the current cursor to be \a hcsr, and set it as
|
||||
* the default cursor.
|
||||
*
|
||||
* \param hcsr The expected cursor handle.
|
||||
* \return The old cursor handle.
|
||||
*
|
||||
* \note This function defined as a macro calling \a SetCursorEx with
|
||||
* passing \a set_def as TRUE.
|
||||
*
|
||||
* \sa SetCursorEx, SetCursor
|
||||
*/
|
||||
#define SetDefaultCursor(hcsr) SetCursorEx (hcsr, TRUE)
|
||||
|
||||
/**
|
||||
* \fn HCURSOR GUIAPI GetDefaultCursor (void)
|
||||
* \brief Gets the default cursor.
|
||||
*
|
||||
* This function gets the current default cursor.
|
||||
*
|
||||
* \return The current default cursor handle.
|
||||
*
|
||||
* \sa SetCursorEx, SetDefaultCursor
|
||||
*/
|
||||
//MG_EXPORT HCURSOR GUIAPI GetDefaultCursor (void);
|
||||
|
||||
#else
|
||||
//// #define SetCursorEx(hcsr, set_def) (do_nothing(), (HCURSOR)0)
|
||||
//// #define SetCursor(hcsr) (do_nothing(), (HCURSOR)0)
|
||||
//// #define SetDefaultCursor(hcsr) (do_nothing(), (HCURSOR)0)
|
||||
//// #define GetDefaultCursor() (do_nothing(), (HCURSOR)0)
|
||||
|
||||
//static inline HCURSOR SetCursorEx(HCURSOR hcsr, BOOL set_def) { return (HCURSOR) 0;}
|
||||
//static inline HCURSOR SetCursor(HCURSOR hcsr) { return (HCURSOR) 0;}
|
||||
//static inline HCURSOR SetDefaultCursor(HCURSOR hcsr) { return (HCURSOR) 0;}
|
||||
//static inline HCURSOR GetDefaultCursor(void) { return (HCURSOR) 0;}
|
||||
|
||||
#endif /* _MGHAVE_CURSOR */
|
||||
|
||||
#ifdef _MGHAVE_CURSOR
|
||||
|
||||
/**
|
||||
* \fn int GUIAPI ShowCursor (BOOL fShow)
|
||||
* \brief Shows or hides cursor.
|
||||
@@ -2985,15 +2916,54 @@ static inline HCURSOR GetDefaultCursor(void) {
|
||||
*/
|
||||
MG_EXPORT int GUIAPI ShowCursor (BOOL fShow);
|
||||
|
||||
#else
|
||||
//// #define ShowCursor(fShow) (do_nothing(), (HCURSOR)0)
|
||||
//static inline int ShowCursor(BOOL fShow) {return 0;}
|
||||
#else /* _MGHAVE_CURSOR */
|
||||
|
||||
static inline HCURSOR SetCursorEx(HCURSOR hcsr, BOOL set_def) {
|
||||
return (HCURSOR)0;
|
||||
}
|
||||
|
||||
static inline HCURSOR GetDefaultCursor(void) {
|
||||
return (HCURSOR)0;
|
||||
}
|
||||
|
||||
static inline int GUIAPI ShowCursor (BOOL fShow) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* _MGHAVE_CURSOR */
|
||||
#endif /* !_MGHAVE_CURSOR */
|
||||
|
||||
/**
|
||||
* \def SetCursor(hcsr)
|
||||
* \brief Changes the current cursor.
|
||||
*
|
||||
* This function changes the current cursor to be \a hcsr.
|
||||
*
|
||||
* \param hcsr The expected cursor handle.
|
||||
* \return The old cursor handle.
|
||||
*
|
||||
* \note This function defined as a macro calling \a SetCursorEx with
|
||||
* passing \a set_def as FALSE.
|
||||
*
|
||||
* \sa SetCursorEx, SetDefaultCursor
|
||||
*/
|
||||
#define SetCursor(hcsr) SetCursorEx (hcsr, FALSE)
|
||||
|
||||
/**
|
||||
* \def SetDefaultCursor(hcsr)
|
||||
* \brief Changes the current cursor, and set it as the default cursor.
|
||||
*
|
||||
* This function changes the current cursor to be \a hcsr, and set it as
|
||||
* the default cursor.
|
||||
*
|
||||
* \param hcsr The expected cursor handle.
|
||||
* \return The old cursor handle.
|
||||
*
|
||||
* \note This function defined as a macro calling \a SetCursorEx with
|
||||
* passing \a set_def as TRUE.
|
||||
*
|
||||
* \sa SetCursorEx, SetCursor
|
||||
*/
|
||||
#define SetDefaultCursor(hcsr) SetCursorEx (hcsr, TRUE)
|
||||
|
||||
/** @} end of cursor_fns */
|
||||
|
||||
|
||||
+2
-13
@@ -14,7 +14,6 @@ include $(abs_top_srcdir)/$(TARGET_RULES)
|
||||
# Flags that can be set on the nmake command line:
|
||||
# DEBUG=1 for compiling a debugging version
|
||||
# PREFIX=Some/Directory Base directory for installation
|
||||
# CONFIGH=YourConfigHeader for defining the mgconfig.h file to use
|
||||
|
||||
ifndef DEBUG
|
||||
DEBUG=0
|
||||
@@ -37,8 +36,6 @@ docdir = $(datadir)/doc/minigui
|
||||
|
||||
# The directory where the include files will be installed
|
||||
libminiguiincludedir = $(includedir)/minigui
|
||||
libmgextincludedir = $(includedir)/minigui
|
||||
|
||||
|
||||
# Programs used by "make":
|
||||
CP = cp
|
||||
@@ -93,14 +90,6 @@ TIFF_LIBS = $(TIFF_NOLZW_LIBS)
|
||||
ZLIB_CFLAGS = -I $(ZLIB)
|
||||
ZLIB_LIBS = $(ZLIB)/zlib.lib
|
||||
|
||||
ifdef COMPILE_MGEXTLIB
|
||||
MGEXT_CFLAGS = -D__MGEXT_LIB__
|
||||
else
|
||||
MGEXT_CFLAGS =
|
||||
endif
|
||||
|
||||
MG_PRE_DEFINES = -D__MINIGUI_LIB__ $(MGEXT_CFLAGS)
|
||||
|
||||
#################################################################################
|
||||
|
||||
ifdef LOCAL_INC
|
||||
@@ -119,10 +108,10 @@ endif
|
||||
|
||||
DEPLIBINC = -I$(DEPLIBDIR)/include
|
||||
|
||||
CFLAGS += $(OPTIMIZE) $(DEBUGINFO) $(DEPLIBINC) $(INCLUDES) $(DEFINES) $(DEPCFLAGS) $(MG_PRE_DEFINES) -c
|
||||
CFLAGS += $(OPTIMIZE) $(DEBUGINFO) $(DEPLIBINC) $(DEFINES) $(DEPCFLAGS) -c
|
||||
|
||||
DEFS += -D__MINIGUI_LIB__ -D_REENTRANT
|
||||
CFLAGS += -I$(abs_top_srcdir) $(INCLUDES) $(DEFS) $(INCS)
|
||||
CFLAGS += -I$(abs_top_srcdir) -I$(abs_top_srcdir)/include -I$(abs_top_srcdir)/src/include $(INCLUDES) $(DEFS) $(INCS)
|
||||
|
||||
%.$(OBJ): %.c
|
||||
$(CC) $(CFLAGS) $(COFLAG) $<
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
abs_top_srcdir=../..
|
||||
LOCAL_INC=-I$(abs_top_srcdir)/src/control/
|
||||
|
||||
include Makefile.am
|
||||
include ../../rules.make
|
||||
|
||||
@@ -511,7 +511,7 @@ char_bitmap_pixmap (LOGFONT* logfont, DEVFONT* devfont,
|
||||
if (pitch)
|
||||
*pitch = cacheinfo->pitch;
|
||||
|
||||
if (!is_grey && sz) {
|
||||
if (sz) {
|
||||
sz->cx = cacheinfo->width;
|
||||
sz->cy = cacheinfo->height;
|
||||
}
|
||||
@@ -592,7 +592,7 @@ char_bitmap_pixmap (LOGFONT* logfont, DEVFONT* devfont,
|
||||
pcache->flag = TRUE;
|
||||
}
|
||||
|
||||
if (!is_grey && sz) {
|
||||
if (sz) {
|
||||
sz->cx = pcache->width;
|
||||
sz->cy = pcache->height;
|
||||
}
|
||||
@@ -604,7 +604,7 @@ char_bitmap_pixmap (LOGFONT* logfont, DEVFONT* devfont,
|
||||
|
||||
buffer = get_raster_bitmap_buffer (source->rows * source->pitch);
|
||||
memcpy(buffer, source->buffer, source->rows * source->pitch);
|
||||
if (!is_grey && sz) {
|
||||
if (sz) {
|
||||
sz->cx = source->width;
|
||||
sz->cy = source->rows;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
abs_top_srcdir=../../../
|
||||
abs_top_srcdir=../../..
|
||||
LOCAL_INC=-I$(abs_top_srcdir)/src/font/
|
||||
|
||||
include Makefile.am
|
||||
include ../../../rules.make
|
||||
|
||||
@@ -1230,8 +1230,9 @@ int GUIAPI ThrowAwayMessages (HWND hWnd)
|
||||
for (slot = 0; slot < DEF_NR_TIMERS; slot++) {
|
||||
if (pMsgQueue->TimerMask & (0x01UL << slot)) {
|
||||
HWND timer_wnd = __mg_get_timer_hwnd (slot);
|
||||
if (timer_wnd == hWnd
|
||||
|| gui_GetMainWindowPtrOfControl (timer_wnd) == (PMAINWIN)hWnd){
|
||||
if (timer_wnd == hWnd
|
||||
|| (MG_IS_MAIN_WINDOW (hWnd) &&
|
||||
gui_GetMainWindowPtrOfControl (timer_wnd) == (PMAINWIN)hWnd)) {
|
||||
RemoveMsgQueueTimerFlag (pMsgQueue, slot);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
abs_top_srcdir=../../..
|
||||
LOCAL_INC=-I$(abs_top_srcdir)/src/newgal/
|
||||
|
||||
include Makefile.am
|
||||
include ../../../rules.make
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
abs_top_srcdir=../../..
|
||||
LOCAL_INC=-I$(abs_top_srcdir)/src/newgal/
|
||||
|
||||
include Makefile.am
|
||||
include ../../../rules.make
|
||||
|
||||
@@ -3786,6 +3786,8 @@ static BOOL _gdi_get_glyph_data (PDC pdc, Glyph32 glyph_value,
|
||||
/* the returned bits will be the subpixled pixmap */
|
||||
data = (BYTE*)(*devfont->font_ops->get_glyph_greybitmap) (logfont, devfont,
|
||||
REAL_GLYPH(glyph_value), bbox, &pitch, &scale);
|
||||
// the width of SUBPIXEL bitmap is 3x real width of bbox
|
||||
bbox->cx /= 3;
|
||||
ctxt->cb = _dc_ft2subpixel_scan_line;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user