>
> On 22.07.2012, at 23:57, Ian MacArthur wrote:
> > If it helps, there are a fair number of native German-spaeakers on =
> this list (though I'm not one of them!) so if that's a better option for =
> you, it might allow for a clearer description of the issue to be =
> created?
>
> Ja, schreib's ruhig auf deutsch. Zu 1: Butons sehen ein wenig =
> unterschiedlich aus in den verschiedenen FLTK versionen. Was benutzt Du =
> denn f=FCr ein Symbol oder Text im Button? Zu 2: das h=E4ngt davon ab, =
> wie Du die Bildrate im PLayer konstant h=E4ltst, also Thread, timer, =
> callback, oder wie?=
>
Es ist nicht der Button; sondern die durch ihn
ausgelöste Aktion.
Nach der Start-Aktion zeigen alle 4 viewer eine
ruhige Bildfolge des MJ2 movie.
Am RESTART Button hängt die Aktion 'restart_cb'.
'restart_cb' ist für alle 4 viewer gleich: sie ist
eine Wiederholung der anfänglichen Start-Aktion der
viewer. Darum sollte die Darstellung der Bilder des
MJ2 movie für alle viewer gleich sein.
Die Anzeige des Bildes ist ebenfalls für alle 4
viewer gleich, siehe unten.
Der Unterschied ist: fltk-2.0.x zeigt beim Druck
auf RESTART ein völlig ruhiges Bild, die anderen
aber ein unruhiges Bild mit ruckelnden Bewegungen.
Für fltk-1.1.10, fltk-1.3.x und fltk-3.0.x muà nach
dem Druck auf RESTART die Maus erst das Hauptfenster
verlassen, damit die ruckelnden Bewegungen sofort
enden.
winfried
static void show_image(Fl_Image* img)
{
int win_w, win_h, scroll_h, scroll_w, iw, ih;
int has_hbar, has_vbar, bar_size;
unsigned char type;
if((bar_size = scroll->scrollbar_size()) == 0)
bar_size = BAR_SIZE;
#ifdef _WIN32
EnterCriticalSection(&CriticalSection);
#else
ENTER_CRITICAL(semid);
#endif
has_hbar = has_vbar = 0;
iw = img->w(); ih = img->h();
/* movie without scrollbars, the whole image is visible: */
if( !movie_runs)
{
if(iw > MAX_SCROLLER_W - bar_size) has_hbar = bar_size;
if(ih > MAX_SCROLLER_H - bar_size) has_vbar = bar_size;
}
if(has_vbar)
scroll_h = MAX_SCROLLER_H;
else
scroll_h = ih + has_hbar;
if(has_hbar)
scroll_w = MAX_SCROLLER_W;
else
scroll_w = iw + has_vbar;
win_h = HEADER_H + scroll_h + BORDER_SIZE;
win_w = BORDER_SIZE + scroll_w + BORDER_SIZE;
if(win_w < WINDOW_MIN_W) win_w = WINDOW_MIN_W;
main_win->size(win_w, win_h);
scroll->size(scroll_w, scroll_h);
scroll_box->size(img->w(), img->h());
scroll_box->image(img);
type = 0;
if(has_hbar) type |= Fl_Scroll::HORIZONTAL;
if(has_vbar) type |= Fl_Scroll::VERTICAL;
scroll->type(type);
scroll->scroll_to(0,0);
main_win->redraw();
#ifdef _WIN32
LeaveCriticalSection(&CriticalSection);
#else
LEAVE_CRITICAL(semid);
#endif
}/* show_image() */
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk