gtkDcoding Blog Post for 2019-03-29 - Grid
Mike Wey
mike-wey at example.com
Tue Apr 2 18:27:10 UTC 2019
On 02-04-2019 17:48, Ron Tarrant wrote:
> On Tuesday, 2 April 2019 at 14:13:09 UTC, number wrote:
>
>> Can somebody explain why getRgba() (apparently inherited from
>> ColorChooser) does take an out parameter instead of returning an
>> Gdk.RGBA?
>
> My understanding is this:
>
> Returning an object (as opposed to a single value) means returning a
> pointer rather than the entire object. And the object will cease to
> exist once the function returns because the scope no longer exists. So,
> it follows that an out variable passed in will preserve the object
> itself once program control returns to the caller.
>
While that would be true for things that live on the stack, this is not
the case for RGBA. The C version of getRgba uses the "out" parameter so
you can pass in a existing GdkRgba, even tough that would make it more
like ref.
This doesn't make sense for the d binding since you will always get a
new RGBA passed through the out parameter.
--
Mike Wey
More information about the Digitalmars-d-learn
mailing list