Пример #1
0
any_regular_t vm_array_image_proc(const array_t& argument_set)
{
    if (argument_set.empty())
        return any_regular_t(empty_t());

    std::string                    filename;
    boost::shared_ptr<GG::Texture> the_image;

    argument_set[0].cast(filename);

    if (!filename.empty()) {
        try {
            the_image = GG::GUI::GetGUI()->GetTexture(filename);
            the_image->SetFilters(GL_NEAREST_MIPMAP_NEAREST, GL_NEAREST);
        } catch (...) {
            return any_regular_t(empty_t());
        }
    }

    return any_regular_t(the_image);
}
Пример #2
0
any_regular_t vm_dictionary_image_proc(const dictionary_t& named_argument_set)
{
    if (named_argument_set.empty())
        return any_regular_t(empty_t());

    std::string                    filename;
    boost::shared_ptr<GG::Texture> the_image;

    get_value(named_argument_set, key_name, filename);

    if (!filename.empty()) {
        try {
            the_image = GG::GUI::GetGUI()->GetTexture(filename);
            the_image->SetFilters(GL_NEAREST_MIPMAP_NEAREST, GL_NEAREST);
        } catch (...) {
            return any_regular_t(empty_t());
        }
    }

    return any_regular_t(the_image);
}
any_regular_t asl_standard_array_function_lookup(name_t         function_name,
                                                 const array_t& argument_set)
{
    if (function_name == static_name_t("image"))
    {
        return implementation::vm_array_image_proc(argument_set);
    }
    else
    {
        throw_function_not_defined(function_name);
    }

    return any_regular_t(empty_t());
}
any_regular_t vm_array_image_proc(const array_t& argument_set)
{
    if (argument_set.empty())
        return any_regular_t(empty_t());

    std::string               filename;
    boost::gil::rgba8_image_t the_image;

    argument_set[0].cast(filename);

    if (!filename.empty())
        image_slurp(boost::filesystem::path(filename), the_image);

    return any_regular_t(the_image);
}
any_regular_t vm_dictionary_image_proc(const dictionary_t& named_argument_set)
{
    if (named_argument_set.empty())
        return any_regular_t(empty_t());

    std::string               filename;
    boost::gil::rgba8_image_t the_image;

    get_value(named_argument_set, key_name, filename);

    if (!filename.empty()) {
        auto path = boost::filesystem::path(filename);
        image_slurp(path, the_image);
    }

    return any_regular_t(the_image);
}
Пример #6
0
bool asl_standard_array_function_lookup(name_t         function_name,
                                        const array_t& argument_set,
                                        any_regular_t& result)
{
    if (function_name == static_name_t("image"))
    {
        result = implementation::vm_array_image_proc(argument_set);
        return true;
    }
    else
    {
        return false;
    }

    result = any_regular_t(empty_t());
    return false;
}
Пример #7
0
 regular()
   : base_t(empty_t())  { }