void seqdata::on_realize () { gui_drawingarea_gtk2::on_realize(); m_hadjust.signal_value_changed().connect ( mem_fun(*this, &seqdata::change_horz) ); m_gc->set_foreground(white_paint()); /* works for all drawing */ char num[8]; /* pulled this out of loop */ memset(num, 0, sizeof num); /* only need this once! */ for (int i = 0; i < c_dataarea_y; ++i) /* MIDI_COUNT_MAX; 128 */ { char val[8]; snprintf(val, sizeof val, "%3d", i); /* removed the newline */ num[0] = val[0]; /* converting to unicode? */ num[2] = val[1]; num[4] = val[2]; m_numbers[i] = Gdk::Pixmap::create(m_window, m_number_w, m_number_h, -1); draw_rectangle(m_numbers[i], 0, 0, m_number_w, m_number_h); render_number(m_numbers[i], 0, 0, &num[0]); render_number(m_numbers[i], 0, m_number_offset_y, &num[2]); render_number(m_numbers[i], 0, m_number_offset_y * 2, &num[4]); } update_sizes(); }
void show_grid(badge_framebuffer * fb, uint8_t grid[GRID_SIZE][GRID_SIZE]) { for(uint8_t x_grid = 0; x_grid < 4; x_grid++) { for(uint8_t y_grid = 0; y_grid < 4; y_grid++) { render_number(fb, grid[x_grid][y_grid], x_grid, y_grid); } } badge_framebuffer_flush((badge_framebuffer const *) fb); }