From 3cc7b9a17bbc8901dc4f38df787a59984c8dbd80 Mon Sep 17 00:00:00 2001 From: Richard Harrison Date: Thu, 17 Mar 2022 11:43:46 +0100 Subject: [PATCH] DDS-TC: Add origin to CanvasImage loadImage Method loadImage should set the canvas origin to allow the DDS texture cache to act appropriately (i.e. not include anything from Canvas) --- simgear/canvas/elements/CanvasImage.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/simgear/canvas/elements/CanvasImage.cxx b/simgear/canvas/elements/CanvasImage.cxx index 883a70b8..c0e89d53 100644 --- a/simgear/canvas/elements/CanvasImage.cxx +++ b/simgear/canvas/elements/CanvasImage.cxx @@ -35,6 +35,7 @@ #include #include #include +#include namespace simgear { @@ -818,8 +819,12 @@ namespace canvas { SG_LOG(SG_IO, SG_DEBUG, "use image reader detected by " << type); + osg::ref_ptr opt; + opt = SGReaderWriterOptions::copyOrCreate(osgDB::Registry::instance()->getOptions()); + opt->setLoadOriginHint(SGReaderWriterOptions::LoadOriginHint::ORIGIN_CANVAS); + std::istringstream data_strm(data); - osgDB::ReaderWriter::ReadResult result = reader.readImage(data_strm); + osgDB::ReaderWriter::ReadResult result = reader.readImage(data_strm, opt); if( result.success() ) { setImage( result.takeImage() );