- int text_line = -1, toggle_x = -1, toggle_y = -1;
- int text_x = -1, text_y = -1, text_w = -1, text_h = -1;
- BC_Toggle::calculate_extents(agui, images, 1,
- &text_line, ww, hh, &toggle_x, &toggle_y,
- &text_x, &text_y, &text_w, &text_h, "", MEDIUMFONT);
+ for( int i=0; i<AVICON_PLAY_MODES; ++i ) {
+ AVIconDrawingItem *item = (AVIconDrawingItem *) avicon->get_item(i);
+ item->set_checked(id == i);
+ }
+ AWindowGUI *agui = avicon->agui;
+ agui->play_off = 0;
+ avicon->set_text(get_text());
+ agui->stop_vicon_drawing();
+ agui->vicon_thread->set_view_popup(0);
+ agui->vicon_thread->solo = 0;
+ agui->vicon_drawing = id;
+ agui->start_vicon_drawing();
+ return 1;
+}
+
+int AVIconDrawing::draw_face(int dx, int color)
+{
+ int ret = BC_PopupMenu::draw_face(dx, color);
+ if( agui->play_off && agui->vicon_drawing != AVICON_NO_PLAY ) {
+ int lx = get_margin(), ly = get_h()/2;
+ draw_line(lx,ly, get_w()-2*lx,ly);
+ }
+ return ret;
+}
+
+AVIconDrawing::AVIconDrawing(AWindowGUI *agui, int x, int y, int w, const char *text)
+ : BC_PopupMenu(x-w, y, w, text, 1, 0, 4)
+{
+ this->agui = agui;