PaintingCommandExecutorGPU.cpp 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. /*
  2. * Copyright (c) 2023, Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibWeb/Painting/PaintingCommandExecutorGPU.h>
  7. namespace Web::Painting {
  8. PaintingCommandExecutorGPU::PaintingCommandExecutorGPU(AccelGfx::Painter& painter)
  9. : m_painter(painter)
  10. {
  11. }
  12. PaintingCommandExecutorGPU::~PaintingCommandExecutorGPU()
  13. {
  14. m_painter.flush();
  15. }
  16. CommandResult PaintingCommandExecutorGPU::draw_glyph_run(Vector<Gfx::DrawGlyphOrEmoji> const&, Color const&)
  17. {
  18. // FIXME
  19. return CommandResult::Continue;
  20. }
  21. CommandResult PaintingCommandExecutorGPU::draw_text(Gfx::IntRect const&, String const&, Gfx::TextAlignment, Color const&, Gfx::TextElision, Gfx::TextWrapping, Optional<NonnullRefPtr<Gfx::Font>> const&)
  22. {
  23. // FIXME
  24. return CommandResult::Continue;
  25. }
  26. CommandResult PaintingCommandExecutorGPU::fill_rect(Gfx::IntRect const& rect, Color const& color)
  27. {
  28. painter().fill_rect(rect, color);
  29. return CommandResult::Continue;
  30. }
  31. CommandResult PaintingCommandExecutorGPU::draw_scaled_bitmap(Gfx::IntRect const& dst_rect, Gfx::Bitmap const& bitmap, Gfx::IntRect const& src_rect, float, Gfx::Painter::ScalingMode scaling_mode)
  32. {
  33. // FIXME: We should avoid using Gfx::Painter specific enums in painting commands
  34. AccelGfx::Painter::ScalingMode accel_scaling_mode;
  35. switch (scaling_mode) {
  36. case Gfx::Painter::ScalingMode::NearestNeighbor:
  37. case Gfx::Painter::ScalingMode::BoxSampling:
  38. case Gfx::Painter::ScalingMode::SmoothPixels:
  39. case Gfx::Painter::ScalingMode::None:
  40. accel_scaling_mode = AccelGfx::Painter::ScalingMode::NearestNeighbor;
  41. break;
  42. case Gfx::Painter::ScalingMode::BilinearBlend:
  43. accel_scaling_mode = AccelGfx::Painter::ScalingMode::Bilinear;
  44. break;
  45. default:
  46. VERIFY_NOT_REACHED();
  47. }
  48. painter().draw_scaled_bitmap(dst_rect, bitmap, src_rect, accel_scaling_mode);
  49. return CommandResult::Continue;
  50. }
  51. CommandResult PaintingCommandExecutorGPU::set_clip_rect(Gfx::IntRect const&)
  52. {
  53. // FIXME
  54. return CommandResult::Continue;
  55. }
  56. CommandResult PaintingCommandExecutorGPU::clear_clip_rect()
  57. {
  58. // FIXME
  59. return CommandResult::Continue;
  60. }
  61. CommandResult PaintingCommandExecutorGPU::set_font(Gfx::Font const&)
  62. {
  63. // FIXME
  64. return CommandResult::Continue;
  65. }
  66. CommandResult PaintingCommandExecutorGPU::push_stacking_context(bool, float, Gfx::FloatRect const&, Gfx::FloatRect const&, Gfx::IntPoint const&)
  67. {
  68. // FIXME
  69. return CommandResult::Continue;
  70. }
  71. CommandResult PaintingCommandExecutorGPU::pop_stacking_context(bool, Gfx::Painter::ScalingMode)
  72. {
  73. // FIXME
  74. return CommandResult::Continue;
  75. }
  76. CommandResult PaintingCommandExecutorGPU::push_stacking_context_with_mask(Gfx::IntRect const&)
  77. {
  78. // FIXME
  79. return CommandResult::Continue;
  80. }
  81. CommandResult PaintingCommandExecutorGPU::pop_stacking_context_with_mask(Gfx::IntRect const&, RefPtr<Gfx::Bitmap> const&, Gfx::Bitmap::MaskKind, float)
  82. {
  83. // FIXME
  84. return CommandResult::Continue;
  85. }
  86. CommandResult PaintingCommandExecutorGPU::paint_linear_gradient(Gfx::IntRect const&, Web::Painting::LinearGradientData const&)
  87. {
  88. // FIXME
  89. return CommandResult::Continue;
  90. }
  91. CommandResult PaintingCommandExecutorGPU::paint_outer_box_shadow(PaintOuterBoxShadowParams const&)
  92. {
  93. // FIXME
  94. return CommandResult::Continue;
  95. }
  96. CommandResult PaintingCommandExecutorGPU::paint_inner_box_shadow(PaintOuterBoxShadowParams const&)
  97. {
  98. // FIXME
  99. return CommandResult::Continue;
  100. }
  101. CommandResult PaintingCommandExecutorGPU::paint_text_shadow(int, Gfx::IntRect const&, Gfx::IntRect const&, String const&, Gfx::Font const&, Color const&, int, Gfx::IntPoint const&)
  102. {
  103. // FIXME
  104. return CommandResult::Continue;
  105. }
  106. CommandResult PaintingCommandExecutorGPU::fill_rect_with_rounded_corners(Gfx::IntRect const&, Color const&, Gfx::AntiAliasingPainter::CornerRadius const&, Gfx::AntiAliasingPainter::CornerRadius const&, Gfx::AntiAliasingPainter::CornerRadius const&, Gfx::AntiAliasingPainter::CornerRadius const&, Optional<Gfx::FloatPoint> const&)
  107. {
  108. // FIXME
  109. return CommandResult::Continue;
  110. }
  111. CommandResult PaintingCommandExecutorGPU::fill_path_using_color(Gfx::Path const&, Color const&, Gfx::Painter::WindingRule, Optional<Gfx::FloatPoint> const&)
  112. {
  113. // FIXME
  114. return CommandResult::Continue;
  115. }
  116. CommandResult PaintingCommandExecutorGPU::fill_path_using_paint_style(Gfx::Path const&, Gfx::PaintStyle const&, Gfx::Painter::WindingRule, float, Optional<Gfx::FloatPoint> const&)
  117. {
  118. // FIXME
  119. return CommandResult::Continue;
  120. }
  121. CommandResult PaintingCommandExecutorGPU::stroke_path_using_color(Gfx::Path const&, Color const&, float, Optional<Gfx::FloatPoint> const&)
  122. {
  123. // FIXME
  124. return CommandResult::Continue;
  125. }
  126. CommandResult PaintingCommandExecutorGPU::stroke_path_using_paint_style(Gfx::Path const&, Gfx::PaintStyle const&, float, float, Optional<Gfx::FloatPoint> const&)
  127. {
  128. // FIXME
  129. return CommandResult::Continue;
  130. }
  131. CommandResult PaintingCommandExecutorGPU::draw_ellipse(Gfx::IntRect const&, Color const&, int)
  132. {
  133. // FIXME
  134. return CommandResult::Continue;
  135. }
  136. CommandResult PaintingCommandExecutorGPU::fill_ellipse(Gfx::IntRect const&, Color const&, Gfx::AntiAliasingPainter::BlendMode)
  137. {
  138. // FIXME
  139. return CommandResult::Continue;
  140. }
  141. CommandResult PaintingCommandExecutorGPU::draw_line(Color const&, Gfx::IntPoint const&, Gfx::IntPoint const&, int, Gfx::Painter::LineStyle, Color const&)
  142. {
  143. // FIXME
  144. return CommandResult::Continue;
  145. }
  146. CommandResult PaintingCommandExecutorGPU::draw_signed_distance_field(Gfx::IntRect const&, Color const&, Gfx::GrayscaleBitmap const&, float)
  147. {
  148. // FIXME
  149. return CommandResult::Continue;
  150. }
  151. CommandResult PaintingCommandExecutorGPU::paint_progressbar(Gfx::IntRect const&, Gfx::IntRect const&, Palette const&, int, int, int, StringView const&)
  152. {
  153. // FIXME
  154. return CommandResult::Continue;
  155. }
  156. CommandResult PaintingCommandExecutorGPU::paint_frame(Gfx::IntRect const&, Palette const&, Gfx::FrameStyle)
  157. {
  158. // FIXME
  159. return CommandResult::Continue;
  160. }
  161. CommandResult PaintingCommandExecutorGPU::apply_backdrop_filter(Gfx::IntRect const&, Web::CSS::ResolvedBackdropFilter const&)
  162. {
  163. // FIXME
  164. return CommandResult::Continue;
  165. }
  166. CommandResult PaintingCommandExecutorGPU::draw_rect(Gfx::IntRect const&, Color const&, bool)
  167. {
  168. // FIXME
  169. return CommandResult::Continue;
  170. }
  171. CommandResult PaintingCommandExecutorGPU::paint_radial_gradient(Gfx::IntRect const&, Web::Painting::RadialGradientData const&, Gfx::IntPoint const&, Gfx::IntSize const&)
  172. {
  173. // FIXME
  174. return CommandResult::Continue;
  175. }
  176. CommandResult PaintingCommandExecutorGPU::paint_conic_gradient(Gfx::IntRect const&, Web::Painting::ConicGradientData const&, Gfx::IntPoint const&)
  177. {
  178. // FIXME
  179. return CommandResult::Continue;
  180. }
  181. CommandResult PaintingCommandExecutorGPU::draw_triangle_wave(Gfx::IntPoint const&, Gfx::IntPoint const&, Color const&, int, int)
  182. {
  183. // FIXME
  184. return CommandResult::Continue;
  185. }
  186. CommandResult PaintingCommandExecutorGPU::sample_under_corners(BorderRadiusCornerClipper&)
  187. {
  188. // FIXME
  189. return CommandResult::Continue;
  190. }
  191. CommandResult PaintingCommandExecutorGPU::blit_corner_clipping(BorderRadiusCornerClipper&)
  192. {
  193. // FIXME
  194. return CommandResult::Continue;
  195. }
  196. bool PaintingCommandExecutorGPU::would_be_fully_clipped_by_painter(Gfx::IntRect) const
  197. {
  198. // FIXME
  199. return false;
  200. }
  201. }