Re: [Pythonmac-SIG] Problems with CoreGraphics API post-Snow Leopard

2012-04-19 Thread Ronald Oussoren

On 17 Apr, 2012, at 17:48, João Leão wrote:

 Hi list
 
 I have an old script using the CoreGraphics API that's no longer working 
 properly since Snow Leopard.
 I' running Lion with the default Python, which is 2.7.1.
 I googled about this and it seems that's because Python is 64-bit now and 
 some old data types don't work anymore.

Which library do you use? That is, is there import CoreGraphics at the top of 
your file or import Quartz?  The former is a Apple library, the latter is 
part of PyObjC.

Ronald



smime.p7s
Description: S/MIME cryptographic signature
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


Re: [Pythonmac-SIG] Problems with CoreGraphics API post-Snow Leopard

2012-04-19 Thread João Leão

On Apr 19, 2012, at 10:16 AM, Ronald Oussoren wrote:

 
 On 17 Apr, 2012, at 17:48, João Leão wrote:
 
 Hi list
 
 I have an old script using the CoreGraphics API that's no longer working 
 properly since Snow Leopard.
 I' running Lion with the default Python, which is 2.7.1.
 I googled about this and it seems that's because Python is 64-bit now and 
 some old data types don't work anymore.
 
 Which library do you use? That is, is there import CoreGraphics at the top 
 of your file or import Quartz?  The former is a Apple library, the latter 
 is part of PyObjC.

import CoreGraphics. It´s the Apple library.

 
 Ronald
 

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


[Pythonmac-SIG] Problems with CoreGraphics API post-Snow Leopard

2012-04-17 Thread João Leão
Hi list

I have an old script using the CoreGraphics API that's no longer working 
properly since Snow Leopard.
I' running Lion with the default Python, which is 2.7.1.
I googled about this and it seems that's because Python is 64-bit now and some 
old data types don't work anymore.


The first error I got was in the function CGBitmapContextCreateWithColor.
The Console spits the following error:
---
TypeError: in method 'CGBitmapContextCreateWithColor', argument 4 of type 
'CGFloat const [5]'
---

My code looks like this:
c = CGBitmapContextCreateWithColor(new_Width, new_Height, cs, (0,0,0,0))

The problem is in the last argument (0, 0, 0, 0) [a color reference] which, 
the new API expects to be CGFloatArray.
I couldn't find any documentation on how to create such an object in python 
but, fortunately, I found some code here 
http://stuffineededtoknow.blogspot.pt/2009_01_01_archive.html  that solved this 
issue:
---
bg = CGFloatArray(5)
c = CGBitmapContextCreateWithColor(new_Width, new_Height, cs, bg)
---


But now I'm getting another error (and I'll probably get some more) with 
another function that expects a CGFloat object instead of a plain integer.
The code looks like this:
---
self.pdf.drawPlainTextInRect(text_prov, textRect, 10)
---

And the error (again caused by the last argument, in this case 10):
---
TypeError: in method 'CGContext_drawPlainTextInRect', argument 4 of type 
'CGFloat'
---


I'm sure that it can't be so hard to create a CGFloat but I didn't find the 
right documentation or sample code to do it.
Does anybody know how to do this?

Thanks in advance.
João
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


Re: [Pythonmac-SIG] Problems with CoreGraphics API post-Snow Leopard

2012-04-17 Thread Bill Janssen
João Leão joaol...@gmx.net wrote:

 But now I'm getting another error (and I'll probably get some more) with 
 another function that expects a CGFloat object instead of a plain integer.
 The code looks like this:
 ---
 self.pdf.drawPlainTextInRect(text_prov, textRect, 10)
 ---
 
 And the error (again caused by the last argument, in this case 10):
 ---
 TypeError: in method 'CGContext_drawPlainTextInRect', argument 4 of type 
 'CGFloat'
 ---
 
 
 I'm sure that it can't be so hard to create a CGFloat but I didn't find the 
 right documentation or sample code to do it.
 Does anybody know how to do this?

Did you try self.pdf.drawPlainTextInRect(text_prov, textRect, 10.0)?

Bill
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


Re: [Pythonmac-SIG] Problems with CoreGraphics API post-Snow Leopard

2012-04-17 Thread João Leão
 João Leão joaol...@gmx.net wrote:
 
 But now I'm getting another error (and I'll probably get some more) with 
 another function that expects a CGFloat object instead of a plain integer.
 The code looks like this:
 ---
 self.pdf.drawPlainTextInRect(text_prov, textRect, 10)
 ---
 
 And the error (again caused by the last argument, in this case 10):
 ---
 TypeError: in method 'CGContext_drawPlainTextInRect', argument 4 of type 
 'CGFloat'
 ---
 
 
 I'm sure that it can't be so hard to create a CGFloat but I didn't find the 
 right documentation or sample code to do it.
 Does anybody know how to do this?
 
 Did you try self.pdf.drawPlainTextInRect(text_prov, textRect, 10.0)?

Yes I did, but it didn't work.
Thanks anyway.

 
 Bill

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG