GdiPlusFontCollection.h
资源名称:GDIUSE.rar [点击查看]
上传用户:jinlangri
上传日期:2022-07-17
资源大小:10774k
文件大小:3k
源码类别:
GDI/图象编程
开发平台:
Visual C++
- /**************************************************************************
- *
- * Copyright (c) 2000, Microsoft Corp. All Rights Reserved.
- *
- * Module Name:
- *
- * GdiplusFontCollection.h
- *
- * Abstract:
- *
- * Font collections (Installed and Private)
- *
- **************************************************************************/
- #ifndef _GDIPLUSFONTCOLL_H
- #define _GDIPLUSFONTCOLL_H
- inline
- FontCollection::FontCollection()
- {
- nativeFontCollection = NULL;
- }
- inline
- FontCollection::~FontCollection()
- {
- }
- inline INT
- FontCollection::GetFamilyCount() const
- {
- INT numFound = 0;
- lastResult = DllExports::GdipGetFontCollectionFamilyCount(
- nativeFontCollection, &numFound);
- return numFound;
- }
- inline Status
- FontCollection::GetFamilies(
- IN INT numSought,
- OUT FontFamily * gpfamilies,
- OUT INT * numFound
- ) const
- {
- if (numSought <= 0 || gpfamilies == NULL || numFound == NULL)
- {
- return SetStatus(InvalidParameter);
- }
- *numFound = 0;
- GpFontFamily **nativeFamilyList = new GpFontFamily*[numSought];
- if (nativeFamilyList == NULL)
- {
- return SetStatus(OutOfMemory);
- }
- Status status = SetStatus(DllExports::GdipGetFontCollectionFamilyList(
- nativeFontCollection,
- numSought,
- nativeFamilyList,
- numFound
- ));
- if (status == Ok)
- {
- for (INT i = 0; i < *numFound; i++)
- {
- DllExports::GdipCloneFontFamily(nativeFamilyList[i],
- &gpfamilies[i].nativeFamily);
- }
- }
- delete [] nativeFamilyList;
- return status;
- }
- inline Status FontCollection::GetLastStatus () const
- {
- return lastResult;
- }
- // protected method
- inline Status
- FontCollection::SetStatus(IN Status status) const
- {
- lastResult = status;
- return lastResult;
- }
- inline
- InstalledFontCollection::InstalledFontCollection()
- {
- nativeFontCollection = NULL;
- lastResult = DllExports::GdipNewInstalledFontCollection(&nativeFontCollection);
- }
- inline
- InstalledFontCollection::~InstalledFontCollection()
- {
- }
- #ifndef DCR_USE_NEW_235072
- inline Status
- InstalledFontCollection::InstallFontFile(IN const WCHAR* filename)
- {
- return SetStatus(DllExports::GdipInstallFontFile(nativeFontCollection, filename));
- }
- inline Status
- InstalledFontCollection::UninstallFontFile(IN const WCHAR* filename)
- {
- return SetStatus(DllExports::GdipUninstallFontFile(nativeFontCollection, filename));
- }
- #endif
- inline
- PrivateFontCollection::PrivateFontCollection()
- {
- nativeFontCollection = NULL;
- lastResult = DllExports::GdipNewPrivateFontCollection(&nativeFontCollection);
- }
- inline
- PrivateFontCollection::~PrivateFontCollection()
- {
- DllExports::GdipDeletePrivateFontCollection(&nativeFontCollection);
- }
- inline Status
- PrivateFontCollection::AddFontFile(IN const WCHAR* filename)
- {
- return SetStatus(DllExports::GdipPrivateAddFontFile(nativeFontCollection, filename));
- }
- inline Status
- PrivateFontCollection::AddMemoryFont(IN const void* memory,
- IN INT length)
- {
- return SetStatus(DllExports::GdipPrivateAddMemoryFont(
- nativeFontCollection,
- memory,
- length));
- }
- #endif // _GDIPLUSFONTCOLL_H