Beispiel #1
0
void bg_image_input(Fl_Input *w, void *d)
{
    changed=true;

    Fl_String val(w->value());
    filename = fl_file_expand(val);

    if(mini_wpaper) { delete mini_wpaper; mini_wpaper=0; }
    if(mini_image)  { delete mini_image; mini_image=0; }

    Fl_Image *im = Fl_Image::read(filename);
    if(im) {
        im->system_convert();
        float scalew = (float)mini_image_box->w()/(float)desktop->w();
        float scaleh = (float)mini_image_box->h()/(float)desktop->h();
        mini_image = im->scale(int(im->width()*scalew), int(im->height()*scaleh));
        delete im;
    }

    if(mini_image) {
        mini_wpaper = make_image(color, mini_image,
                                 mini_image_box->w(), mini_image_box->h(),
                                 mode, opacity);
        mini_image_box->image(mini_wpaper);
    } else {
        mini_image_box->image(0);
    }

    image_input->value(filename);
    image_input->redraw();
    mini_image_box->redraw();
}
Beispiel #2
0
Fl_String MainMenu::get_item_dir(Fl_XmlNode *node)
{
    Fl_String dir( node->get_attribute("Dir") );

    if(dir=="$DEFAULT_PROGRAMS_DIR")
        dir = Fl_String(PREFIX"/share/ede/programs");

    return fl_file_expand(dir);
}
Beispiel #3
0
Fl_Image *MainMenu::find_image(const Fl_String &icon) const
{
    Fl_String iconpath( fl_file_expand(icon) );

    Fl_Image *im=0;

    if(fl_file_exists(iconpath))
        im = Fl_Image::read(iconpath);

    if(!im) {
        iconpath = PREFIX"/share/ede/icons/16x16/"+icon;
        im = Fl_Image::read(iconpath);
    }

    if(im && (im->width()!=16 || im->height()!=16)) {
        Fl_Image *scaled = im->scale(16, 16);
        if(scaled) {
            delete im;
            im = scaled;
        }
    }

    return im;
}