19 #define OIIO_IMAGECACHE_SUPPORTS_CLOSE 1
22 #define OIIO_IMAGECACHE_INVALIDATE_FORCE 1
33 class ImageCachePerThreadInfo;
86 static void destroy(
ImageCache* cache,
bool teardown =
false);
339 const void *
val) = 0;
384 void *val)
const = 0;
451 virtual Perthread* create_thread_info() = 0;
454 virtual void destroy_thread_info(
Perthread* thread_info) = 0;
477 virtual bool good(ImageHandle* file) = 0;
482 virtual ustring filename_from_handle(ImageHandle*
handle) = 0;
658 virtual bool get_image_info (
ustring filename,
int subimage,
int miplevel,
663 virtual bool get_image_info (ImageHandle *file, Perthread *thread_info,
664 int subimage,
int miplevel,
691 int subimage=0,
int miplevel=0,
696 virtual bool get_imagespec (ImageHandle *file, Perthread *thread_info,
698 int subimage=0,
int miplevel=0,
729 int miplevel=0,
bool native=
false) = 0;
733 virtual const ImageSpec *imagespec (ImageHandle *file,
734 Perthread *thread_info,
735 int subimage=0,
int miplevel=0,
758 virtual bool get_thumbnail (ImageHandle *file, Perthread *thread_info,
759 ImageBuf& thumbnail,
int subimage=0) = 0;
810 int subimage,
int miplevel,
int xbegin,
int xend,
811 int ybegin,
int yend,
int zbegin,
int zend,
815 int cache_chbegin = 0,
int cache_chend = -1) = 0;
819 virtual bool get_pixels (ImageHandle *file, Perthread *thread_info,
820 int subimage,
int miplevel,
int xbegin,
int xend,
821 int ybegin,
int yend,
int zbegin,
int zend,
825 int cache_chbegin = 0,
int cache_chend = -1) = 0;
830 int xbegin,
int xend,
int ybegin,
int yend,
831 int zbegin,
int zend,
836 virtual bool get_pixels (ImageHandle *file, Perthread *thread_info,
837 int subimage,
int miplevel,
838 int xbegin,
int xend,
int ybegin,
int yend,
839 int zbegin,
int zend,
864 virtual void invalidate(ImageHandle* file,
bool force =
true) = 0;
876 virtual void invalidate_all(
bool force =
false) = 0;
886 virtual void close_all () = 0;
890 typedef pvt::ImageCacheTile
Tile;
902 int chbegin = 0,
int chend = -1) = 0;
909 int subimage,
int miplevel,
911 int chbegin = 0,
int chend = -1) = 0;
915 virtual void release_tile(
Tile* tile)
const = 0;
919 virtual TypeDesc tile_format(
const Tile* tile)
const = 0;
923 virtual ROI tile_roi(
const Tile* tile)
const = 0;
978 int x,
int y,
int z,
int chbegin,
int chend,
1009 virtual void reset_stats() = 0;
1022 void operator delete(
void* ) {}
OIIO_API std::string geterror(bool clear=true)
OIIO_API bool has_error()
Is there a pending global error message waiting to be retrieved?
GT_API const UT_StringHolder filename
OIIO_UTIL_API bool copy(string_view from, string_view to, std::string &err)
pvt::ImageCacheFile ImageHandle
GLsizei const GLchar *const * string
GLdouble GLdouble GLdouble z
**But if you need a result
std::string OIIO_UTIL_API replace(string_view str, string_view pattern, string_view replacement, bool global=false)
GLint GLint GLsizei GLint GLenum format
GLuint const GLchar * name
OIIO_API bool getattribute(string_view name, TypeDesc type, void *val)
SIM_API const UT_StringHolder force
const stride_t AutoStride
OIIO_API bool attribute(string_view name, TypeDesc type, const void *val)
pvt::ImageCachePerThreadInfo Perthread
ImageHandle * get_image_handle(const std::wstring &filename, Perthread *thread_info=NULL)
Get an ImageHandle using a UTF-16 encoded wstring filename.
#define OIIO_NAMESPACE_END
std::string OIIO_UTIL_API utf16_to_utf8(const std::wstring &utf16str) noexcept
#define OIIO_NAMESPACE_BEGIN