} // CreateUniform static int GetCoverSide(Frame rc, int inflate) { long s = 0; if (rc.w > rc.h) { s = (long)rc.w; } else { s = (long)rc.h; } if (BitOps.IsPow2(s) && s <= MaxQuadSide && s >= MinQuadSide) { return((int)s); } s += inflate * 2; s = BitOps.NextPow2(s); while (s < MinQuadSide) { s *= 2; } while (s > MaxQuadSide) { s /= 2; } return((int)s); }
private void spMaxQuadSide_ValueChanged(object sender, System.EventArgs e) { int val = (int)spMaxQuadSide.Value; if (BitOps.IsPow2((long)val)) { return; } if (val > MaxQuadSide) { MaxQuadSide = (int)BitOps.NextPow2((long)val); } else { MaxQuadSide = (int)BitOps.PrevPow2((long)val); } if (MaxQuadSide > RectPartition.c_MaxQuadSide) { MaxQuadSide = RectPartition.c_MaxQuadSide; } spMaxQuadSide.Value = MaxQuadSide; }