[swift-users] Need Help with C-to-Swift (finally)
Harlan Haskins
harlan at harlanhaskins.com
Fri Dec 11 14:24:48 CST 2015
So, it’s a very simple almost one-to-one translation of that C code block to Swift.
You have to make sure to import CCairo at the beginning of the file, and change the variable declarations to use let instead of the C declaration.
This works for me, as is.
import CCairo
let surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 240, 80)
let cr = cairo_create (surface);
cairo_select_font_face(cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD)
cairo_set_font_size(cr, 32.0)
cairo_set_source_rgb(cr, 0.0, 0.0, 1.0)
cairo_move_to(cr, 10.0, 50.0)
cairo_show_text(cr, "Hello, world")
cairo_destroy(cr)
cairo_surface_write_to_png(surface, "hello.png")
cairo_surface_destroy(surface)
> On Dec 11, 2015, at 3:21 PM, Gage Morgan <gagemorgan at outlook.com> wrote:
>
> Do so here in a few. Want a bug report for that?
>
> Sent from Outlook Mobile <https://aka.ms/qtex0l>
>
>
>
> On Fri, Dec 11, 2015 at 12:08 PM -0800, "Harlan Haskins" <harlan at harlanhaskins.com <mailto:harlan at harlanhaskins.com>> wrote:
>
> Mind sending your CCairo modulemap?
>
> I’d love to help you get this translated to Swift.
>
>> On Dec 11, 2015, at 2:44 PM, Gage Morgan via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>>
>> I want to call PNG surfaces from Swift, as well as use cairo_line_to() and cairo_move_to() in Swift. Thing is, I need an example of cairo used in Swift so I can apply it to the rest of cairo.
>>
>> My goal is to generate an executable that outputs *.png images using swift.
>>
>> Thanks for the support,
>> --MGage--
>>
>> Sent from Outlook Mobile <https://aka.ms/qtex0l>
>>
>>
>>
>> On Thu, Dec 10, 2015 at 10:40 PM -0800, "Jason Dusek" <jason.dusek at gmail.com <mailto:jason.dusek at gmail.com>> wrote:
>>
>> When you say, output to Swift, do you mean, call it from Swift? Return the PNG or surface to Swift?
>>
>> On Thu, 10 Dec 2015 at 22:39 Gage Morgan via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>> So, if I had this code written in C:
>>
>> int
>> main (int argc, char *argv[])
>> {
>> cairo_surface_t *surface =
>> cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 240, 80);
>> cairo_t *cr =
>> cairo_create (surface);
>>
>> cairo_select_font_face (cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
>> cairo_set_font_size (cr, 32.0);
>> cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
>> cairo_move_to (cr, 10.0, 50.0);
>> cairo_show_text (cr, "Hello, world");
>>
>> cairo_destroy (cr);
>> cairo_surface_write_to_png (surface, "hello.png");
>> cairo_surface_destroy (surface);
>> return 0;
>> }
>>
>> how would I output to Swift? If I can get one or two examples, I'll be closer to finished with using Cairo in Swift.
>>
>>
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
>>
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20151211/92262a1b/attachment.html>
More information about the swift-users
mailing list