mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	[sdl][mipi_spi] Respect clipping when drawing (#9722)
Co-authored-by: clydebarrow <2366188+clydebarrow@users.noreply.github.com>
This commit is contained in:
		| @@ -534,6 +534,8 @@ class MipiSpiBuffer : public MipiSpi<BUFFERTYPE, BUFFERPIXEL, IS_BIG_ENDIAN, DIS | ||||
|  | ||||
|   // Draw a pixel at the given coordinates. | ||||
|   void draw_pixel_at(int x, int y, Color color) override { | ||||
|     if (!this->get_clipping().inside(x, y)) | ||||
|       return; | ||||
|     rotate_coordinates_(x, y); | ||||
|     if (x < 0 || x >= WIDTH || y < this->start_line_ || y >= this->end_line_) | ||||
|       return; | ||||
|   | ||||
| @@ -48,6 +48,9 @@ void Sdl::draw_pixels_at(int x_start, int y_start, int w, int h, const uint8_t * | ||||
| } | ||||
|  | ||||
| void Sdl::draw_pixel_at(int x, int y, Color color) { | ||||
|   if (!this->get_clipping().inside(x, y)) | ||||
|     return; | ||||
|  | ||||
|   SDL_Rect rect{x, y, 1, 1}; | ||||
|   auto data = (display::ColorUtil::color_to_565(color, display::COLOR_ORDER_RGB)); | ||||
|   SDL_UpdateTexture(this->texture_, &rect, &data, 2); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user