viewport.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Flexlay - A Generic 2D Game Editor
  2. // Copyright (C) 2002 Ingo Ruhnke <grumbel@gmx.de>
  3. //
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. #include "graphic_context_state.hpp"
  17. #include "viewport.hpp"
  18. class ViewportImpl
  19. {
  20. public:
  21. CL_Component* child;
  22. GraphicContextState gc_state;
  23. };
  24. Viewport::Viewport(CL_Component* child, const CL_Rect& rect, CL_Component* parent)
  25. : CL_Component(rect, parent),
  26. impl(new ViewportImpl())
  27. {
  28. impl->child = child;
  29. impl->gc_state.set_size(rect.get_width(), rect.get_height());
  30. }
  31. void
  32. Viewport::set_pos(const CL_Pointf& pos)
  33. {
  34. impl->gc_state.set_pos(pos);
  35. }
  36. CL_Pointf
  37. Viewport::get_pos() const
  38. {
  39. return impl->gc_state.get_pos();
  40. }
  41. /* EOF */