MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / panel_write_pixel_col

Function panel_write_pixel_col

core/panel.c:733–752  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

731static void panel_write_pixel_col_oob(panel_mem_ptr_t *memPtr, uint32_t bgr666);
732
733static void panel_write_pixel_col(panel_mem_ptr_t *memPtr, uint32_t bgr666) {
734 uint16_t col = memPtr->xAddr;
735 if (likely((uint8_t)col < PANEL_NUM_COLS)) {
736 if (unlikely(memPtr->yAddr == panel.srcRow)) {
737 panel_buffer_catchup(col);
738 }
739 panel_write_pixel(&panel.windowBasePtr[(uint8_t)col], bgr666);
740 }
741 if (likely(col != panel.windowEnd.xAddr)) {
742 memPtr->xAddr = (col + panel.xDir) & PANEL_ADDR_MASK;
743 } else if (likely(panel_next_y_addr(memPtr))) {
744 uint16_t row = memPtr->yAddr;
745 if (likely(row < PANEL_NUM_ROWS)) {
746 panel.windowBasePtr = &panel.frame[row][0];
747 } else {
748 panel.write_pixel = panel_write_pixel_col_oob;
749 }
750 memPtr->xAddr = panel.windowStart.xAddr;
751 }
752}
753
754static void panel_write_pixel_col_oob(panel_mem_ptr_t *memPtr, uint32_t bgr666) {
755 (void)bgr666;

Callers

nothing calls this directly

Calls 3

panel_buffer_catchupFunction · 0.85
panel_write_pixelFunction · 0.85
panel_next_y_addrFunction · 0.85

Tested by

no test coverage detected