00001
00002
00003
#ifndef _LIBGNOMEUIMM_ICON_LOOKUP_H
00004
#define _LIBGNOMEUIMM_ICON_LOOKUP_H
00005
00006
#include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
#include <gtkmm/icontheme.h>
00028
#include <libgnomeuimm/thumbnail.h>
00029
#include <libgnomevfsmm/file-info.h>
00030
00031
00032
namespace Gnome
00033 {
00034
00035
namespace UI
00036 {
00037
00051 enum IconLookupFlags
00052 {
00053 ICON_LOOKUP_FLAGS_NONE = 0,
00054 ICON_LOOKUP_FLAGS_EMBEDDING_TEXT = 1<<0,
00055 ICON_LOOKUP_FLAGS_SHOW_SMALL_IMAGES_AS_THEMSELVES = 1<<1,
00056 ICON_LOOKUP_FLAGS_ALLOW_SVG_AS_THEMSELVES = 1<<2
00057 };
00058
00060 inline IconLookupFlags
operator|(IconLookupFlags lhs, IconLookupFlags rhs)
00061 {
return static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00062
00064 inline IconLookupFlags
operator&(IconLookupFlags lhs, IconLookupFlags rhs)
00065 {
return static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00066
00068 inline IconLookupFlags
operator^(IconLookupFlags lhs, IconLookupFlags rhs)
00069 {
return static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00070
00072 inline IconLookupFlags
operator~(IconLookupFlags flags)
00073 {
return static_cast<IconLookupFlags>(~static_cast<unsigned>(flags)); }
00074
00076 inline IconLookupFlags&
operator|=(IconLookupFlags& lhs, IconLookupFlags rhs)
00077 {
return (lhs = static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00078
00080 inline IconLookupFlags&
operator&=(IconLookupFlags& lhs, IconLookupFlags rhs)
00081 {
return (lhs = static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00082
00084 inline IconLookupFlags&
operator^=(IconLookupFlags& lhs, IconLookupFlags rhs)
00085 {
return (lhs = static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00086
00087
00099 enum IconLookupResultFlags
00100 {
00101 ICON_LOOKUP_RESULT_FLAGS_NONE = 0,
00102 ICON_LOOKUP_RESULT_FLAGS_THUMBNAIL = 1<<0
00103 };
00104
00106 inline IconLookupResultFlags
operator|(IconLookupResultFlags lhs, IconLookupResultFlags rhs)
00107 {
return static_cast<IconLookupResultFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00108
00110 inline IconLookupResultFlags
operator&(IconLookupResultFlags lhs, IconLookupResultFlags rhs)
00111 {
return static_cast<IconLookupResultFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00112
00114 inline IconLookupResultFlags
operator^(IconLookupResultFlags lhs, IconLookupResultFlags rhs)
00115 {
return static_cast<IconLookupResultFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00116
00118 inline IconLookupResultFlags
operator~(IconLookupResultFlags flags)
00119 {
return static_cast<IconLookupResultFlags>(~static_cast<unsigned>(flags)); }
00120
00122 inline IconLookupResultFlags&
operator|=(IconLookupResultFlags& lhs, IconLookupResultFlags rhs)
00123 {
return (lhs = static_cast<IconLookupResultFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00124
00126 inline IconLookupResultFlags&
operator&=(IconLookupResultFlags& lhs, IconLookupResultFlags rhs)
00127 {
return (lhs = static_cast<IconLookupResultFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00128
00130 inline IconLookupResultFlags&
operator^=(IconLookupResultFlags& lhs, IconLookupResultFlags rhs)
00131 {
return (lhs = static_cast<IconLookupResultFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00132
00133
00134
Glib::ustring icon_lookup(
const Glib::RefPtr<Gtk::IconTheme>& icon_theme,
const Glib::RefPtr<ThumbnailFactory>& thumbnail_factory,
const Glib::ustring& file_uri,
const Glib::ustring& custom_icon,
const Glib::RefPtr<Gnome::Vfs::FileInfo>& file_info,
const Glib::ustring& mime_type, IconLookupFlags flags, IconLookupResultFlags& result);
00135
00136
Glib::ustring icon_lookup_sync(
const Glib::RefPtr<Gtk::IconTheme>& icon_theme,
const Glib::RefPtr<ThumbnailFactory>& thumbnail_factory,
const Glib::ustring& file_uri,
const Glib::ustring& custom_icon, IconLookupFlags flags, IconLookupResultFlags& result);
00137
00138 }
00139 }
00140
00141
#endif
00142