video_core.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/emu_window.h"
  6. #include "renderer_base.h"
  7. ////////////////////////////////////////////////////////////////////////////////////////////////////
  8. // Video Core namespace
  9. namespace VideoCore {
  10. // 3DS Video Constants
  11. // -------------------
  12. // NOTE: The LCDs actually rotate the image 90 degrees when displaying. Because of that the
  13. // framebuffers in video memory are stored in column-major order and rendered sideways, causing
  14. // the widths and heights of the framebuffers read by the LCD to be switched compared to the
  15. // heights and widths of the screens listed here.
  16. static const int kScreenTopWidth = 400; ///< 3DS top screen width
  17. static const int kScreenTopHeight = 240; ///< 3DS top screen height
  18. static const int kScreenBottomWidth = 320; ///< 3DS bottom screen width
  19. static const int kScreenBottomHeight = 240; ///< 3DS bottom screen height
  20. // Video core renderer
  21. // ---------------------
  22. extern RendererBase* g_renderer; ///< Renderer plugin
  23. extern EmuWindow* g_emu_window; ///< Emu window
  24. /// Start the video core
  25. void Start();
  26. /// Initialize the video core
  27. void Init(EmuWindow* emu_window);
  28. /// Shutdown the video core
  29. void Shutdown();
  30. } // namespace