Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21778/Pythonwin/pywin/scintilla
Modified Files:
control.py view.py
Log Message:
Get Pythonwin working on 64-bit
Index: control.py
===================================================================
RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/control.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** control.py 9 Oct 2004 01:33:48 -0000 1.14
--- control.py 6 Sep 2007 06:47:36 -0000 1.15
***************
*** 44,48 ****
class ScintillaControlInterface:
def SCIUnpackNotifyMessage(self, msg):
! format = "iiiiPiiiiiiiii"
bytes = win32ui.GetBytes( msg, struct.calcsize(format) )
position, ch, modifiers, modificationType, text_ptr, \
--- 44,48 ----
class ScintillaControlInterface:
def SCIUnpackNotifyMessage(self, msg):
! format = "iiiiPiiiPPiiii"
bytes = win32ui.GetBytes( msg, struct.calcsize(format) )
position, ch, modifiers, modificationType, text_ptr, \
***************
*** 269,279 ****
self.SendScintilla(win32con.WM_CLEAR)
def FindText(self, flags, range, findText):
buff = array.array('c', findText + "\0")
addressBuffer = buff.buffer_info()[0]
! ft = struct.pack('llLll', range[0], range[1], addressBuffer, 0, 0)
ftBuff = array.array('c', ft)
addressFtBuff = ftBuff.buffer_info()[0]
rc = self.SendScintilla(EM_FINDTEXTEX, flags, addressFtBuff)
! ftUnpacked = struct.unpack('llLll', ftBuff.tostring())
return rc, (ftUnpacked[3], ftUnpacked[4])
--- 269,289 ----
self.SendScintilla(win32con.WM_CLEAR)
def FindText(self, flags, range, findText):
+ """ LPARAM for EM_FINDTEXTEX:
+ typedef struct _findtextex {
+ CHARRANGE chrg;
+ LPCTSTR lpstrText;
+ CHARRANGE chrgText;} FINDTEXTEX;
+ typedef struct _charrange {
+ LONG cpMin;
+ LONG cpMax;} CHARRANGE;
+ """
+ findtextex_fmt='llPll'
buff = array.array('c', findText + "\0")
addressBuffer = buff.buffer_info()[0]
! ft = struct.pack(findtextex_fmt, range[0], range[1], addressBuffer, 0, 0)
ftBuff = array.array('c', ft)
addressFtBuff = ftBuff.buffer_info()[0]
rc = self.SendScintilla(EM_FINDTEXTEX, flags, addressFtBuff)
! ftUnpacked = struct.unpack(findtextex_fmt, ftBuff.tostring())
return rc, (ftUnpacked[3], ftUnpacked[4])
***************
*** 339,343 ****
buff = array.array('c', initer)
addressBuffer = buff.buffer_info()[0]
! tr = struct.pack('llL', start, end, addressBuffer)
trBuff = array.array('c', tr)
addressTrBuff = trBuff.buffer_info()[0]
--- 349,353 ----
buff = array.array('c', initer)
addressBuffer = buff.buffer_info()[0]
! tr = struct.pack('llP', start, end, addressBuffer)
trBuff = array.array('c', tr)
addressTrBuff = trBuff.buffer_info()[0]
Index: view.py
===================================================================
RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/view.py,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** view.py 17 Dec 2006 21:38:27 -0000 1.25
--- view.py 6 Sep 2007 06:47:36 -0000 1.26
***************
*** 637,643 ****
def FormatRange(self, dc, pageStart, lengthDoc, rc, draw):
hdcRender = dc.GetHandleOutput()
hdcFormat = dc.GetHandleAttrib()
! fr = struct.pack('llIIIIIIIIll', hdcRender, hdcFormat, rc[0], rc[1], rc[2], rc[3], rc[0], rc[1], rc[2], rc[3], pageStart, lengthDoc)
frBuff = array.array('c', fr)
addressFrBuff = frBuff.buffer_info()[0]
--- 637,652 ----
def FormatRange(self, dc, pageStart, lengthDoc, rc, draw):
+ """
+ typedef struct _formatrange {
+ HDC hdc;
+ HDC hdcTarget;
+ RECT rc;
+ RECT rcPage;
+ CHARRANGE chrg;} FORMATRANGE;
+ """
+ fmt='PPIIIIIIIIll'
hdcRender = dc.GetHandleOutput()
hdcFormat = dc.GetHandleAttrib()
! fr = struct.pack(fmt, hdcRender, hdcFormat, rc[0], rc[1], rc[2], rc[3], rc[0], rc[1], rc[2], rc[3], pageStart, lengthDoc)
frBuff = array.array('c', fr)
addressFrBuff = frBuff.buffer_info()[0]
|