video_core.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 int g_current_frame; ///< Current frame
  25. extern EmuWindow* g_emu_window; ///< Emu window
  26. /// Start the video core
  27. void Start();
  28. /// Initialize the video core
  29. void Init(EmuWindow* emu_window);
  30. /// Shutdown the video core
  31. void Shutdown();
  32. } // namespace