/*
* CINELERRA
* Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
+ *
*/
#ifndef BCSCROLLBAR_H
#include "bcsubwindow.h"
// Orientations
-#define SCROLL_HORIZ 0
-#define SCROLL_VERT 1
+#define SCROLL_HORIZ 0
+#define SCROLL_VERT 1
+#define SCROLL_STRETCH 2
// Selection identifiers
#define SCROLL_HANDLE 1
class BC_ScrollBar : public BC_SubWindow
{
public:
- BC_ScrollBar(int x,
- int y,
- int orientation,
- int pixels,
- int64_t length,
- int64_t position,
- int64_t handlelength,
- VFrame **data = 0);
+ BC_ScrollBar(int x, int y, int orientation, int pixels, int64_t length,
+ int64_t position, int64_t handlelength, VFrame **data = 0);
virtual ~BC_ScrollBar();
friend class BC_ListBox;
int get_span();
static int get_span(int orientation);
int get_arrow_pixels();
-
private:
void calculate_dimensions(int &w, int &h);
int activate();
int64_t length, position, handlelength; // handle position and size
int selection_status, highlight_status;
- int orientation, pixels;
+ int orientation, pixels, stretch;
int handle_pixel, handle_pixels;
int min_pixel, max_pixel;
int64_t repeat_count;