void GxEPD2_270::refresh(int16_t x, int16_t y, int16_t w, int16_t h) { if (_initial_refresh) return refresh(false); // initial update needs be full update x -= x % 8; // byte boundary w -= x % 8; // byte boundary int16_t x1 = x < 0 ? 0 : x; // limit int16_t y1 = y < 0 ? 0 : y; // limit int16_t w1 = x + w < int16_t(WIDTH) ? w : int16_t(WIDTH) - x; // limit int16_t h1 = y + h < int16_t(HEIGHT) ? h : int16_t(HEIGHT) - y; // limit w1 -= x1 - x; h1 -= y1 - y; _refreshWindow(x1, y1, w1, h1); _waitWhileBusy("refresh", partial_refresh_time); }
void AP_Dialog_CollaborationShare::signal(const Event& event, BuddyPtr /*pSource*/) { UT_DEBUGMSG(("AP_Dialog_CollaborationShare::signal()\n")); switch (event.getClassType()) { case PCT_AccountAddBuddyEvent: case PCT_AccountDeleteBuddyEvent: case PCT_AccountBuddyOnlineEvent: case PCT_AccountBuddyOfflineEvent: // FIXME: ick ick ick! (I shouldn't need to explain this) _refreshWindow(); break; default: // we will ignore the rest break; } }