def __scroll_cb(self, widget, event): d = self.SCROLL_DELTA if event.direction in (gdk.SCROLL_DOWN, gdk.SCROLL_LEFT): d *= -1 col = HSVColor(color=self.get_managed_color()) v = clamp(col.v+d, 0.0, 1.0) if col.v != v: col.v = v self.set_managed_color(col) return True
def __scroll_cb(self, widget, event): d = self.SCROLL_DELTA if event.direction in (gdk.SCROLL_DOWN, gdk.SCROLL_LEFT): d *= -1 col = HSVColor(color=self.get_managed_color()) v = clamp(col.v + d, 0.0, 1.0) if col.v != v: col.v = v self.set_managed_color(col) return True
def color_at_normalized_polar_pos(self, r, theta): col = HSVColor(color=self.get_managed_color()) col.h = theta col.s = r return col
def get_normalized_polar_pos_for_color(self, col): col = HSVColor(color=col) return col.s, col.h
frame.add(self.__table) return frame def set_color_manager(self, manager): CombinedAdjusterPage.set_color_manager(self, manager) self.__v_adj.set_color_manager(manager) self.__hs_adj.set_color_manager(manager) if __name__ == '__main__': import os, sys from adjbases import ColorManager mgr = ColorManager(prefs={}, datapath='.') if len(sys.argv) > 1: # Generate icons mgr.set_color(HSVColor(0.0, 0.0, 0.8)) wheel = HSVHueSaturationWheel() wheel.set_color_manager(mgr) icon_name = HSVAdjusterPage.get_page_icon_name() for dir_name in sys.argv[1:]: wheel.save_icon_tree(dir_name, icon_name) else: # Interactive test mgr.set_color(HSVColor(0.333, 0.6, 0.5)) page = HSVAdjusterPage() page.set_color_manager(mgr) window = gtk.Window() window.add(page.get_page_widget()) window.set_title(os.path.basename(sys.argv[0])) window.set_border_width(6) window.connect("destroy", lambda *a: gtk.main_quit())