Merge pull request #5436 from pewpew-game/stage-scale
_stage: Fix handling of scaled display in the stage library
This commit is contained in:
commit
3c993e536e
@ -1 +1 @@
|
||||
Subproject commit d0f1c46d7f879cd60562ee69900d619499d4d206
|
||||
Subproject commit ab28481acaac4a38b3066bd90249ae6fcf4aeda5
|
@ -29,7 +29,7 @@
|
||||
|
||||
|
||||
// Get the color of the pixel on the layer.
|
||||
uint16_t get_layer_pixel(layer_obj_t *layer, uint16_t x, uint16_t y) {
|
||||
uint16_t get_layer_pixel(layer_obj_t *layer, int16_t x, int16_t y) {
|
||||
|
||||
// Shift by the layer's position offset.
|
||||
x -= layer->x;
|
||||
|
@ -43,6 +43,6 @@ typedef struct {
|
||||
uint8_t rotation;
|
||||
} layer_obj_t;
|
||||
|
||||
uint16_t get_layer_pixel(layer_obj_t *layer, uint16_t x, uint16_t y);
|
||||
uint16_t get_layer_pixel(layer_obj_t *layer, int16_t x, int16_t y);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_MODULE__STAGE_LAYER
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
|
||||
// Get the color of the pixel on the text.
|
||||
uint16_t get_text_pixel(text_obj_t *text, uint16_t x, uint16_t y) {
|
||||
uint16_t get_text_pixel(text_obj_t *text, int16_t x, int16_t y) {
|
||||
|
||||
// Shift by the text's position offset.
|
||||
x -= text->x;
|
||||
|
@ -41,6 +41,6 @@ typedef struct {
|
||||
uint8_t width, height;
|
||||
} text_obj_t;
|
||||
|
||||
uint16_t get_text_pixel(text_obj_t *text, uint16_t x, uint16_t y);
|
||||
uint16_t get_text_pixel(text_obj_t *text, int16_t x, int16_t y);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_MODULE__STAGE_TEXT
|
||||
|
@ -39,13 +39,14 @@ void render_stage(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1,
|
||||
|
||||
|
||||
displayio_area_t area;
|
||||
area.x1 = x0;
|
||||
area.y1 = y0;
|
||||
area.x2 = x1;
|
||||
area.y2 = y1;
|
||||
area.x1 = x0 * scale;
|
||||
area.y1 = y0 * scale;
|
||||
area.x2 = x1 * scale;
|
||||
area.y2 = y1 * scale;
|
||||
displayio_display_core_set_region_to_update(
|
||||
&display->core, display->set_column_command, display->set_row_command,
|
||||
NO_COMMAND, NO_COMMAND, display->data_as_commands, false, &area, display->SH1107_addressing);
|
||||
NO_COMMAND, NO_COMMAND, display->data_as_commands, false, &area,
|
||||
display->SH1107_addressing);
|
||||
|
||||
while (!displayio_display_core_begin_transaction(&display->core)) {
|
||||
RUN_BACKGROUND_TASKS;
|
||||
|
Loading…
x
Reference in New Issue
Block a user