GenerateLoadPixbuf() public method

public GenerateLoadPixbuf ( string name, Gtk size ) : System.CodeDom.CodeExpression
name string
size Gtk
return System.CodeDom.CodeExpression
        public CodeExpression ToCodeExpression(GeneratorContext ctx)
        {
            switch (source)
            {
            case ImageSource.Resource:
                return(new CodeMethodInvokeExpression(
                           new CodeTypeReferenceExpression(new CodeTypeReference(typeof(Gdk.Pixbuf), CodeTypeReferenceOptions.GlobalReference)),
                           "LoadFromResource",
                           new CodePrimitiveExpression(name)
                           ));

            case ImageSource.Theme:
                return(ctx.GenerateLoadPixbuf(name, size));

            case ImageSource.File:
                return(new CodeObjectCreateExpression(
                           typeof(Gdk.Pixbuf).ToGlobalTypeRef(),
                           new CodeMethodInvokeExpression(
                               new CodeTypeReferenceExpression(new CodeTypeReference(typeof(System.IO.Path), CodeTypeReferenceOptions.GlobalReference)),
                               "Combine",
                               new CodePropertyReferenceExpression(
                                   new CodePropertyReferenceExpression(
                                       new CodeTypeReferenceExpression(new CodeTypeReference(typeof(AppDomain), CodeTypeReferenceOptions.GlobalReference)),
                                       "CurrentDomain"
                                       ),
                                   "BaseDirectory"
                                   ),
                               new CodePrimitiveExpression(name)
                               )
                           ));
            }
            return(new CodePrimitiveExpression(null));
        }
Exemplo n.º 2
0
        public CodeExpression ToCodeExpression(GeneratorContext ctx)
        {
            switch (source) {
                case ImageSource.Resource:
                    return new CodeMethodInvokeExpression (
                        new CodeTypeReferenceExpression (typeof(Gdk.Pixbuf)),
                        "LoadFromResource",
                        new CodePrimitiveExpression (name)
                    );

                case ImageSource.Theme:
                    return ctx.GenerateLoadPixbuf (name, size);

                case ImageSource.File:
                    return new CodeObjectCreateExpression (
                        typeof(Gdk.Pixbuf),
                        new CodeMethodInvokeExpression (
                            new CodeTypeReferenceExpression (typeof(System.IO.Path)),
                            "Combine",
                            new CodePropertyReferenceExpression (
                                new CodePropertyReferenceExpression (
                                    new CodeTypeReferenceExpression (typeof(AppDomain)),
                                    "CurrentDomain"
                                ),
                                "BaseDirectory"
                            ),
                            new CodePrimitiveExpression (name)
                        )
                    );
            }
            return new CodePrimitiveExpression (null);
        }