If they're not the same name, you don't need Cairo.Surface, just Surface.

Sent from my iPhone

> On Dec 11, 2015, at 9:16 PM, Gage Morgan <gagemor...@outlook.com> wrote:
> 
> Here's what I'm getting:
> 
> /home/mgage/swift-cairo-bindings/test/main.swift:4:15: error: module 'Cairo' 
> has no member named 'Surface'
> let surface = Cairo.Surface(format: CAIRO_FORMAT_ARGB32, width: 421, height: 
> 410)
>               ^~~~~ ~~~~~~~
> <unknown>:0: error: build had 1 command failures
> 
> So what I'm trying to do is to put all wrappings in a separate module named 
> Cairo. Then, I want to use those methods outside of the module named Cairo. I 
> renamed the class to Surface and fixed all references, but for some reason it 
> keeps saying something about Surface not present. I need to look into whether 
> a git repo may be needed.
> 
> Subject: Re: [swift-users] Need Help with C-to-Swift (finally)
> From: har...@harlanhaskins.com
> Date: Fri, 11 Dec 2015 20:31:20 -0500
> CC: ja...@apple.com; swift-users@swift.org
> To: gagemor...@outlook.com
> 
> Nope, but you’ll need a way to specify the class inside the module (the 
> fully-qualified type name)
> 
> Cairo.Cairo should work fine.
> 
> On Dec 11, 2015, at 8:14 PM, Gage Morgan <gagemor...@outlook.com> wrote:
> 
> The module is Cairo. Do I need to change something (I'm assuming by struct 
> you mean the name of the class containing wrappings). The class is named 
> Cairo as well. Could renaming the module to ModCairo fix this?
> 
> Sent from Outlook Mobile
> 
> 
> 
> 
> On Fri, Dec 11, 2015 at 5:11 PM -0800, "Harlan Haskins" 
> <har...@harlanhaskins.com> wrote:
> 
> Is your struct named Cairo or Surface?
> 
> If Cairo is the module name, you're trying to instantiate the module.
> 
> - Harlan
> 
> On Dec 11, 2015, at 7:55 PM, Gage Morgan <gagemor...@outlook.com> wrote:
> 
> How would you use things like cairo.moveTo() outside of the wrapping file? 
> I've gone as far as writing a module named "Cairo," taking the methods as 
> mentioned above out, and moving them to their own directory "tests." I have 
> added "Cairo" as a dependency for "tests," but there appears to be something 
> wrong when I try to call:
> 
> let cairo = Cairo(format: CAIRO_FORMAT_ARGB32, width: 421, height: 410)
> 
> Why can I not call Cairo()? The error:
> 
> Compiling Swift Module 'test' (1 sources)
> /home/mgage/swift-cairo-bindings/test/main.swift:4:18: error: cannot call 
> value of non-function type 'module<Cairo>'
> let cairo = Cairo(format: CAIRO_FORMAT_ARGB32, width: 421, height: 410)
>             ~~~~~^
> <unknown>:0: error: build had 1 command failures
> swift-build: exit(1): 
> ["/home/mgage/Downloads/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu15.10/usr/bin/swift-build-tool",
>  "-f", 
> "/home/mgage/swift-cairo-bindings/test/.build/debug/test.o/llbuild.yaml"]
> 
> I don't know whether or not I want to translate methods into straight-up 
> properties yet.
> 
> Thanks, support here has been great so far. Cheers!
> --MGage--
> 
> 
> Subject: Re: [swift-users] Need Help with C-to-Swift (finally)
> From: har...@harlanhaskins.com
> Date: Fri, 11 Dec 2015 19:35:46 -0500
> CC: gagemor...@outlook.com; swift-users@swift.org
> To: ja...@apple.com
> 
> I considered that but couldn't find a cairo_get_font_scale function quickly 
> to complement the setter 
> 
> But yes, a full wrapper would transparently handle getting and setting.
> 
> - Harlan
> 
> On Dec 11, 2015, at 7:28 PM, Jack Lawrence <ja...@apple.com> wrote:
> 
> For getter-setter pairs like `setLineWidth`, you might consider turning them 
> into properties:
> 
> cairo.setLineWidth(0.1) // old
> cairo.lineWidth = 0.1 // new
> 
> On Dec 11, 2015, at 4:22 PM, Gage Morgan via swift-users 
> <swift-users@swift.org> wrote:
> 
> Harlan,
> 
> The answer is yes. I even managed to get a couple you didn't list on my own:
> 
> let cairo = Cairo(format: CAIRO_FORMAT_ARGB32, width: 421, height: 410)
> cairo.scale(10.0, y: 10.0)
> cairo.moveTo(29.0, y: 14.7)
> cairo.lineTo(37.6, y: 13.0)
> cairo.moveTo(37.6, y: 13.0)
> cairo.lineTo(30.4, y: 22.2)
> cairo.moveTo(30.4, y: 22.2)
> cairo.lineTo(29.0, y: 14.7)
> cairo.setLineWidth(0.1)
> cairo.stroke()
> cairo.surfaceWriteToPNG("boobs.png")
> 
> Swift is both really neat and really frustrating when learning it. 
> 
> Subject: Re: [swift-users] Need Help with C-to-Swift (finally)
> From: har...@harlanhaskins.com
> Date: Fri, 11 Dec 2015 17:21:38 -0500
> CC: kwame.br...@gmail.com; swift-users@swift.org
> To: gagemor...@outlook.com
> 
> Gage,
> 
> Sorry, I just got back from class.
> 
> I’ll respond in line!
> 
> On Dec 11, 2015, at 5:09 PM, Gage Morgan <gagemor...@outlook.com> wrote:
> 
> Harlan,
> 
> I read on cairographics.org about bindings awhile back. I think they want 
> cairo, not surface, so we would have something like:
> 
> let cairo = Surface(format: CAIRO_FORMAT_ARGB32, width: 240, height: 80)
> cairo.setFontFace("serif", weight: CAIRO_FONT_WEIGHT_BOLD)
> cairo.setFontSize(32.0)
> cairo.setSourceRGB(0.0, g: 0.0, b: 1.0)
> cairo.moveTo(x: 10, y: 50)
> cairo.showText("Hello, World!")
> cairo.writeToPNG("hello.png")
> 
> Would this work the same as before without "surface" but instead "cairo”?
> 
> Absolutely! That’s just a variable name — it could be called ‘puppies’, 
> though that’s not very readable.
> 
> 
> Sent from Outlook Mobile
> 
> 
> 
> 
> On Fri, Dec 11, 2015 at 2:00 PM -0800, "Gage Morgan via swift-users" 
> <swift-users@swift.org> wrote:
> 
> I went and looked at it, and even now it looks like I want to take every 
> function I've used in Cairo and translate it to Swift. Swift is such 
> a...simple language compared to everything else. That being said, as a result 
> of the specs, it is also much more verbose in terms of writing the code. 
> Compared to other languages, it is written out instead of shoved onto a few 
> lines. 
> 
> Is there a way to import modules into other modules? Because it looks like a 
> weekend project that will eventually get posted by myself at 
> http://github.com/Christoffen-Corporation. 
> 
> Sent from Outlook Mobile
> 
> I’d recommend having a look at the Swift package manager example again — 
> https://github.com/apple/swift-package-manager/blob/master/Documentation/SystemModules.md
> 
> There’s an example of using those modules together.
> 
> 
> On Fri, Dec 11, 2015 at 1:52 PM -0800, "Gage Morgan via swift-users" 
> <swift-users@swift.org> wrote:
> 
> I meant the code posted in the Gist link above. I don't know jack squat about 
> qsort. I'm hoping that if I can reverse-engineer code already produced, I can 
> apply it to other parts of Cairo. 
> 
> Sent from Outlook Mobile
> 
> I’ll go ahead and comment it, but I think it’s simplistic enough that it 
> should be readable with a grasp of some Swift concepts. Perhaps it’s a good 
> idea to look through The Swift Programming Language to figure out some of the 
> constructs I used — they’re fairly basic constructs.
> 
> 
> On Fri, Dec 11, 2015 at 1:34 PM -0800, "Kwame Bryan"<kwame.br...@gmail.com> 
> wrote:
> 
> Tutorial on the subject. http://chris.eidhof.nl/posts/swift-c-interop.html 
> 
> Regards
> Kwame
> 
> 
> <Mail Attachment.txt><Mail Attachment.txt>
> 
>  _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
> 
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to