mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	[rpi_dpi_rgb] Fix get_width and height (Bugfix) (#7675)
Co-authored-by: clydeps <U5yx99dok9>
This commit is contained in:
		| @@ -84,6 +84,26 @@ void RpiDpiRgb::draw_pixels_at(int x_start, int y_start, int w, int h, const uin | ||||
|     ESP_LOGE(TAG, "lcd_lcd_panel_draw_bitmap failed: %s", esp_err_to_name(err)); | ||||
| } | ||||
|  | ||||
| int RpiDpiRgb::get_width() { | ||||
|   switch (this->rotation_) { | ||||
|     case display::DISPLAY_ROTATION_90_DEGREES: | ||||
|     case display::DISPLAY_ROTATION_270_DEGREES: | ||||
|       return this->get_height_internal(); | ||||
|     default: | ||||
|       return this->get_width_internal(); | ||||
|   } | ||||
| } | ||||
|  | ||||
| int RpiDpiRgb::get_height() { | ||||
|   switch (this->rotation_) { | ||||
|     case display::DISPLAY_ROTATION_90_DEGREES: | ||||
|     case display::DISPLAY_ROTATION_270_DEGREES: | ||||
|       return this->get_width_internal(); | ||||
|     default: | ||||
|       return this->get_height_internal(); | ||||
|   } | ||||
| } | ||||
|  | ||||
| void RpiDpiRgb::draw_pixel_at(int x, int y, Color color) { | ||||
|   if (!this->get_clipping().inside(x, y)) | ||||
|     return;  // NOLINT | ||||
|   | ||||
| @@ -24,6 +24,7 @@ class RpiDpiRgb : public display::Display { | ||||
|   void update() override { this->do_update_(); } | ||||
|   void setup() override; | ||||
|   void loop() override; | ||||
|   float get_setup_priority() const override { return setup_priority::HARDWARE; } | ||||
|   void draw_pixels_at(int x_start, int y_start, int w, int h, const uint8_t *ptr, display::ColorOrder order, | ||||
|                       display::ColorBitness bitness, bool big_endian, int x_offset, int y_offset, int x_pad) override; | ||||
|   void draw_pixel_at(int x, int y, Color color) override; | ||||
| @@ -44,8 +45,8 @@ class RpiDpiRgb : public display::Display { | ||||
|     this->width_ = width; | ||||
|     this->height_ = height; | ||||
|   } | ||||
|   int get_width() override { return this->width_; } | ||||
|   int get_height() override { return this->height_; } | ||||
|   int get_width() override; | ||||
|   int get_height() override; | ||||
|   void set_hsync_back_porch(uint16_t hsync_back_porch) { this->hsync_back_porch_ = hsync_back_porch; } | ||||
|   void set_hsync_front_porch(uint16_t hsync_front_porch) { this->hsync_front_porch_ = hsync_front_porch; } | ||||
|   void set_hsync_pulse_width(uint16_t hsync_pulse_width) { this->hsync_pulse_width_ = hsync_pulse_width; } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user