# HG changeset patch # User Sebastien Jodogne # Date 1517562147 -3600 # Node ID 7cd08a8ea7d07f23f3ce81f81726d6b83e4691d9 # Parent 7a52c968ea1b5b87e9915b1363bdcd8a1878343c removed bad files diff -r 7a52c968ea1b -r 7cd08a8ea7d0 Applications/Sdl/SdlSurface.cpp~ --- a/Applications/Sdl/SdlSurface.cpp~ Fri Feb 02 09:39:13 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/** - * Stone of Orthanc - * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics - * Department, University Hospital of Liege, Belgium - * Copyright (C) 2017-2018 Osimis S.A., Belgium - * - * This program is free software: you can redistribute it and/or - * modify it under the terms of the GNU Affero General Public License - * as published by the Free Software Foundation, either version 3 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - **/ - - -#include "SdlSurface.h" - -#if ORTHANC_ENABLE_SDL == 1 - -#include "../../Resources/Orthanc/Core/Logging.h" -#include "../../Resources/Orthanc/Core/OrthancException.h" - -namespace OrthancStone -{ - SdlSurface::SdlSurface(SdlWindow& window) : - window_(window), - sdlSurface_(NULL) - { - } - - - SdlSurface::~SdlSurface() - { - if (sdlSurface_) - { - SDL_FreeSurface(sdlSurface_); - } - } - - - void SdlSurface::SetSize(unsigned int width, - unsigned int height) - { - if (cairoSurface_.get() == NULL || - cairoSurface_->GetWidth() != width || - cairoSurface_->GetHeight() != height) - { - cairoSurface_.reset(new CairoSurface(width, height)); - - // TODO Big endian? - static const uint32_t rmask = 0x00ff0000; - static const uint32_t gmask = 0x0000ff00; - static const uint32_t bmask = 0x000000ff; - - if (sdlSurface_) - { - SDL_FreeSurface(sdlSurface_); - } - - sdlSurface_ = SDL_CreateRGBSurfaceFrom(cairoSurface_->GetBuffer(), width, height, 32, - cairoSurface_->GetPitch(), rmask, gmask, bmask, 0); - if (!sdlSurface_) - { - LOG(ERROR) << "Cannot create a SDL surface from a Cairo surface"; - throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); - } - } - } - - - void SdlSurface::Render(IViewport& viewport) - { - if (cairoSurface_.get() == NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); - } - - Orthanc::ImageAccessor target = cairoSurface_->GetAccessor(); - - if (viewport.Render(target)) - { - window_.Render(sdlSurface_); - } - } -} - -#endif diff -r 7a52c968ea1b -r 7cd08a8ea7d0 Applications/Sdl/SdlSurface.h~ --- a/Applications/Sdl/SdlSurface.h~ Fri Feb 02 09:39:13 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -/** - * Stone of Orthanc - * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics - * Department, University Hospital of Liege, Belgium - * Copyright (C) 2017-2018 Osimis S.A., Belgium - * - * This program is free software: you can redistribute it and/or - * modify it under the terms of the GNU Affero General Public License - * as published by the Free Software Foundation, either version 3 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - **/ - - -#pragma once - -#if ORTHANC_ENABLE_SDL == 1 - -#include "SdlWindow.h" -#include "../../Framework/Viewport/CairoSurface.h" -#include "../../Framework/Viewport/IViewport.h" - -#include - -namespace OrthancStone -{ - class SdlSurface : public boost::noncopyable - { - private: - std::auto_ptr cairoSurface_; - SDL_Surface* sdlSurface_; - - public: - SdlSurface(SdlWindow& window); - - ~SdlSurface(); - - void SetSize(unsigned int width, - unsigned int height); - - void Render(IViewport& viewport); - }; -} - -#endif