video_core.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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/common.h"
  6. #include "common/emu_window.h"
  7. #include "renderer_base.h"
  8. ////////////////////////////////////////////////////////////////////////////////////////////////////
  9. // Video Core namespace
  10. namespace VideoCore {
  11. // 3DS Video Constants
  12. // -------------------
  13. // NOTE: The LCDs actually rotate the image 90 degrees when displaying. Because of that the
  14. // framebuffers in video memory are stored in column-major order and rendered sideways, causing
  15. // the widths and heights of the framebuffers read by the LCD to be switched compared to the
  16. // heights and widths of the screens listed here.
  17. static const int kScreenTopWidth = 400; ///< 3DS top screen width
  18. static const int kScreenTopHeight = 240; ///< 3DS top screen height
  19. static const int kScreenBottomWidth = 320; ///< 3DS bottom screen width
  20. static const int kScreenBottomHeight = 240; ///< 3DS bottom screen height
  21. // Video core renderer
  22. // ---------------------
  23. extern RendererBase* g_renderer; ///< Renderer plugin
  24. extern EmuWindow* g_emu_window; ///< Emu window
  25. /// Start the video core
  26. void Start();
  27. /// Initialize the video core
  28. void Init(EmuWindow* emu_window);
  29. /// Shutdown the video core
  30. void Shutdown();
  31. } // namespace