static void test_compare_int (void) { int a, b; a = 1; b = 2; assert (!int_equal (&a, &b)); a = 2; b = 2; assert (int_equal (&a, &b)); }
void TabDecorator::_DistributeTabSize(float delta) { ASSERT(CountTabs() > 1); float maxTabSize = 0; float secMaxTabSize = 0; int32 nTabsWithMaxSize = 0; for (int32 i = 0; i < fTabList.CountItems(); i++) { Decorator::Tab* tab = fTabList.ItemAt(i); float tabWidth = tab->tabRect.Width(); if (int_equal(maxTabSize, tabWidth)) { nTabsWithMaxSize++; continue; } if (maxTabSize < tabWidth) { secMaxTabSize = maxTabSize; maxTabSize = tabWidth; nTabsWithMaxSize = 1; } else if (secMaxTabSize <= tabWidth) secMaxTabSize = tabWidth; } float minus = ceil(std::min(maxTabSize - secMaxTabSize, delta)); delta -= minus; minus /= nTabsWithMaxSize; Decorator::Tab* prevTab = NULL; for (int32 i = 0; i < fTabList.CountItems(); i++) { Decorator::Tab* tab = fTabList.ItemAt(i); if (int_equal(maxTabSize, tab->tabRect.Width())) tab->tabRect.right -= minus; if (prevTab) { tab->tabRect.OffsetBy(prevTab->tabRect.right - tab->tabRect.left, 0); } prevTab = tab; } if (delta > 0) { _DistributeTabSize(delta); return; } // done prevTab->tabRect.right = floor(fFrame.right + fBorderWidth); for (int32 i = 0; i < fTabList.CountItems(); i++) { Decorator::Tab* tab = _TabAt(i); tab->tabOffset = uint32(tab->tabRect.left - fLeftBorder.left); } }
static int int_compare(hg_list_value_t value1, hg_list_value_t value2) { if (int_equal(value1, value2)) return 0; if (*((int *) value1) < *((int *) value2)) return -1; else return 1; }
template<class A, class B> inline bool int_not_equal(A a, B b) { return !int_equal(a,b); }