wine/ dlls/usp10/usp10.c include/usp10.h

Alexandre Julliard julliard at wine.codeweavers.com
Mon Nov 28 05:06:44 CST 2005


ChangeSet ID:	21493
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/28 05:06:44

Modified files:
	dlls/usp10     : usp10.c 
	include        : usp10.h 

Log message:
	Vijay Kiran Kamuju <infyquest at gmail.com>
	Added some missing definitions in usp10.h.

Patch: http://cvs.winehq.org/patch.py?id=21493

Old revision  New revision  Changes     Path
 1.5           1.6           +1 -0       wine/dlls/usp10/usp10.c
 1.4           1.5           +97 -3      wine/include/usp10.h

Index: wine/dlls/usp10/usp10.c
diff -u -p wine/dlls/usp10/usp10.c:1.5 wine/dlls/usp10/usp10.c:1.6
--- wine/dlls/usp10/usp10.c:1.5	28 Nov 2005 11: 6:44 -0000
+++ wine/dlls/usp10/usp10.c	28 Nov 2005 11: 6:44 -0000
@@ -26,6 +26,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "wingdi.h"
 #include "winuser.h"
 #include "usp10.h"
 
Index: wine/include/usp10.h
diff -u -p wine/include/usp10.h:1.4 wine/include/usp10.h:1.5
--- wine/include/usp10.h:1.4	28 Nov 2005 11: 6:44 -0000
+++ wine/include/usp10.h	28 Nov 2005 11: 6:44 -0000
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2005 Steven Edwards
+ * Copyright (C) 2005 Vijay Kiran Kamuju
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -51,6 +52,38 @@ extern "C" {
 #define  SIC_ASCIIDIGIT  2
 #define  SIC_NEUTRAL     4
 
+/** ScriptGetCMap */
+#define SGCM_RTL  0x00000001
+
+/** ScriptApplyDigitSubstitution */
+#define SCRIPT_DIGITSUBSTITUTE_CONTEXT      0
+#define SCRIPT_DIGITSUBSTITUTE_NONE         1
+#define SCRIPT_DIGITSUBSTITUTE_NATIONAL     2
+#define SCRIPT_DIGITSUBSTITUTE_TRADITIONAL  3
+
+#define SCRIPT_UNDEFINED  0
+
+#define USP_E_SCRIPT_NOT_IN_FONT MAKE_HRESULT(SEVERITY_ERROR,FACILITY_ITF,0x200)
+
+typedef enum tag_SCRIPT_JUSTIFY {
+  SCRIPT_JUSTIFY_NONE           = 0,
+  SCRIPT_JUSTIFY_ARABIC_BLANK   = 1,
+  SCRIPT_JUSTIFY_CHARACTER      = 2,
+  SCRIPT_JUSTIFY_RESERVED1      = 3,
+  SCRIPT_JUSTIFY_BLANK          = 4,
+  SCRIPT_JUSTIFY_RESERVED2      = 5,
+  SCRIPT_JUSTIFY_RESERVED3      = 6,
+  SCRIPT_JUSTIFY_ARABIC_NORMAL  = 7,
+  SCRIPT_JUSTIFY_ARABIC_KASHIDA = 8,
+  SCRIPT_JUSTIFY_ARABIC_ALEF    = 9,
+  SCRIPT_JUSTIFY_ARABIC_HA      = 10,
+  SCRIPT_JUSTIFY_ARABIC_RA      = 11,
+  SCRIPT_JUSTIFY_ARABIC_BA      = 12,
+  SCRIPT_JUSTIFY_ARABIC_BARA    = 13,
+  SCRIPT_JUSTIFY_ARABIC_SEEN    = 14,
+  SCRIPT_JUSTIFY_RESERVED4      = 15,
+} SCRIPT_JUSTIFY;
+
 typedef struct tag_SCRIPT_CONTROL {
   DWORD uDefaultLanguage	:16;
   DWORD fContextDigits		:1;
@@ -135,19 +168,53 @@ typedef struct tag_SCRIPT_TABDEF {
   int iTabOrigin;
 } SCRIPT_TABDEF;
 
+typedef struct tag_SCRIPT_VISATTR {
+  WORD uJustification   :4;
+  WORD fClusterStart    :1;
+  WORD fDiacritic       :1;
+  WORD fZeroWidth       :1;
+  WORD fReserved        :1;
+  WORD fShapeReserved   :8;
+} SCRIPT_VISATTR;
+
+typedef struct tag_SCRIPT_LOGATTR {
+  BYTE    fSoftBreak      :1;
+  BYTE    fWhiteSpace     :1;
+  BYTE    fCharStop       :1;
+  BYTE    fWordStop       :1;
+  BYTE    fInvalid        :1;
+  BYTE    fReserved       :3;
+} SCRIPT_LOGATTR;
+
 typedef void *SCRIPT_CACHE;
 typedef void *SCRIPT_STRING_ANALYSIS; 
 
-/* Function Declairations */
+#ifndef LSDEFS_DEFINED
+typedef struct tagGOFFSET {
+  LONG  du;
+  LONG  dv;
+} GOFFSET;
+#endif
+
+/* Function Declarations */
 
-HRESULT WINAPI ScriptGetProperties(const SCRIPT_PROPERTIES ***ppSp, int *piNumScripts);
-HRESULT WINAPI ScriptRecordDigitSubstitution(LCID Locale, SCRIPT_DIGITSUBSTITUTE *psds);
 HRESULT WINAPI ScriptApplyDigitSubstitution(const SCRIPT_DIGITSUBSTITUTE* psds, 
                                             SCRIPT_CONTROL* psc, SCRIPT_STATE* pss);
+HRESULT WINAPI ScriptApplyLogicalWidth(const int *piDx, int cChars, int cGlyphs, const WORD *pwLogClust,
+                                       const SCRIPT_VISATTR *psva, const int *piAdvance,
+                                       const SCRIPT_ANALYSIS *psa, ABC *pABC, int *piJustify);
+HRESULT WINAPI ScriptRecordDigitSubstitution(LCID Locale, SCRIPT_DIGITSUBSTITUTE *psds);
 HRESULT WINAPI ScriptItemize(const WCHAR *pwcInChars, int cInChars, int cMaxItems, 
                              const SCRIPT_CONTROL *psControl, const SCRIPT_STATE *psState, 
                              SCRIPT_ITEM *pItems, int *pcItems);
+HRESULT WINAPI ScriptGetCMap(HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcInChars, int cChars,
+                             DWORD dwFlags, WORD *pwOutGlyphs);
 HRESULT WINAPI ScriptGetFontProperties(HDC hdc, SCRIPT_CACHE *psc, SCRIPT_FONTPROPERTIES *sfp);
+HRESULT WINAPI ScriptGetGlyphABCWidth(HDC hdc, SCRIPT_CACHE *psc, WORD wGlyph, ABC *pABC);
+HRESULT WINAPI ScriptGetLogicalWidths(const SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs,
+                                      const int *piGlyphWidth, const WORD *pwLogClust,
+                                      const SCRIPT_VISATTR *psva, int *piDx);
+HRESULT WINAPI ScriptGetProperties(const SCRIPT_PROPERTIES ***ppSp, int *piNumScripts);
 HRESULT WINAPI ScriptStringAnalyse(HDC hdc, 
 				   const void *pString, 
 				   int cString, 
@@ -161,8 +228,35 @@ HRESULT WINAPI ScriptStringAnalyse(HDC h
 				   SCRIPT_TABDEF *pTabdef,
 				   const BYTE *pbInClass,
 				   SCRIPT_STRING_ANALYSIS *pssa);
+HRESULT WINAPI ScriptStringValidate(SCRIPT_STRING_ANALYSIS ssa);
 HRESULT WINAPI ScriptStringFree(SCRIPT_STRING_ANALYSIS *pssa);
+HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *psc);
 HRESULT WINAPI ScriptIsComplex(const WCHAR* pwcInChars, int cInChars, DWORD dwFlags);
+HRESULT WINAPI ScriptJustify(const SCRIPT_VISATTR *psva, const int *piAdvance, int cGlyphs,
+                             int iDx, int iMinKashida, int *piJustify);
+HRESULT WINAPI ScriptLayout(int cRuns, const BYTE *pbLevel, int *piVisualToLogical, int *piLogicalToVisual);
+HRESULT WINAPI ScriptShape(HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcChars, int cChars, int cMaxGlyphs,
+                           SCRIPT_ANALYSIS *psa, WORD *pwOutGlyphs, WORD *pwLogClust, SCRIPT_VISATTR *psva, int *pcGlyphs);
+HRESULT WINAPI ScriptPlace(HDC hdc, SCRIPT_CACHE *psc, const WORD *pwGlyphs, int cGlyphs, const SCRIPT_VISATTR *psva,
+                           SCRIPT_ANALYSIS *psa, int *piAdvance, GOFFSET *pGoffset, ABC *pABC );
+HRESULT WINAPI ScriptBreak(const WCHAR *pwcChars, int cChars, const SCRIPT_ANALYSIS *psa, SCRIPT_LOGATTR *psla);
+HRESULT WINAPI ScriptCacheGetHeight(HDC hdc, SCRIPT_CACHE *psc, long *tmHeight);
+HRESULT WINAPI ScriptCPtoX(int iCP, BOOL fTrailing, int cChars, int cGlyphs, const WORD *pwLogClust, const SCRIPT_VISATTR *psva,
+                           const int *piAdvance, const SCRIPT_ANALYSIS *psa, int *piX);
+HRESULT WINAPI ScriptXtoCP(int iX, int cChars, int cGlyphs, const WORD *pwLogClust, const SCRIPT_VISATTR *psva,
+                           const int *piAdvance, const SCRIPT_ANALYSIS *psa, int *piCP, int *piTrailing);
+HRESULT WINAPI ScriptStringCPtoX(SCRIPT_STRING_ANALYSIS ssa, int icp, BOOL fTrailing, int *pX);
+HRESULT WINAPI ScriptStringXtoCP(SCRIPT_STRING_ANALYSIS ssa, int iX, int *piCh , int *piTrailing);
+HRESULT WINAPI ScriptStringGetLogicalWidths(SCRIPT_STRING_ANALYSIS ssa, int *piDx);
+HRESULT WINAPI ScriptStringGetOrder(SCRIPT_STRING_ANALYSIS ssa, UINT *puOrder);
+HRESULT WINAPI ScriptStringOut(SCRIPT_STRING_ANALYSIS ssa, int iX, int iY, UINT uOptions, const RECT *prc,
+                               int iMinSel, int iMaxSel, BOOL fDisabled);
+HRESULT WINAPI ScriptTextOut(const HDC hdc, SCRIPT_CACHE *psc, int x, int y, UINT fuOptions, const RECT *lprc,
+                             const SCRIPT_ANALYSIS *psa, const WCHAR *pwcReserved, int iReserved, const WORD *pwGlyphs,
+                             int cGlyphs, const int *piAdvance, const int *piJustify, const GOFFSET *pGoffset);
+const int* WINAPI ScriptString_pcOutChars(SCRIPT_STRING_ANALYSIS ssa);
+const SCRIPT_LOGATTR* WINAPI ScriptString_pLogAttr(SCRIPT_STRING_ANALYSIS ssa);
+const SIZE* WINAPI ScriptString_pSize(SCRIPT_STRING_ANALYSIS ssa);
 
 #ifdef __cplusplus
 } /* extern "C" */



More information about the wine-cvs mailing list