OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
fscroll.cpp
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// ObjectWindows
3// Copyright (c) 1998 by Yura Bidus, All Rights Reserved
4//
5/// \file
6/// Implementation of class TFlatScroller.
7//------------------------------------------------------------------------------
8#include <owl/pch.h>
9#include <owl/fscroll.h>
10#include <owl/window.h>
11
12namespace owl {
13
15
16namespace
17{
18
19 SCROLLINFO FlatSB_GetScrollInfo_(const TWindow* w, int bar, uint mask = SIF_ALL)
20 {
21 PRECONDITION(w && w->GetHandle());
22 SCROLLINFO i = {sizeof(SCROLLINFO), mask};
23 bool r = FlatSB_GetScrollInfo(w->GetHandle(), bar, &i);
24 CHECK(r); InUse(r);
25 return i;
26 }
27
28 int FlatSB_SetScrollInfo_(const TWindow* w, int bar, SCROLLINFO& i, bool redraw)
29 {
30 PRECONDITION(w && w->GetHandle());
31 return FlatSB_SetScrollInfo(w->GetHandle(), bar, &i, redraw);
32 }
33
34} // namespace
35
36//
37// constructs a TScroller object
38//
40 int xUnit,
41 int yUnit,
42 long xRange,
43 long yRange)
44:
46{
47}
48
49//
50// destructs a TFlatScroller object
51//
55
56
57void
63
64
65int
70
71
72//
73void
75{
77 minPos = i.nMin;
78 maxPos = i.nMax;
79}
80
81
82//
83void
89
90
91//
92int
97
98
99//
100int
102{
103 SCROLLINFO i = {sizeof(SCROLLINFO), SIF_POS | SIF_DISABLENOSCROLL, 0, 0, 0, pos};
105}
106
107//
108int
113
114
116
117#if OWL_PERSISTENT_STREAMS
118
119//
120// reads an instance of TFlatScroller from the passed ipstream
121//
122void*
123TFlatScroller::Streamer::Read(ipstream& is, uint32 /*version*/) const
124{
125 ReadBaseObject((TScroller*)GetObject(), is);
126
127 return GetObject();
128}
129
130//
131// writes the TFlatScroller to the passed opstream
132//
133void
134TFlatScroller::Streamer::Write(opstream& os) const
135{
136 WriteBaseObject((TScroller*)GetObject(), os);
137}
138
139#endif
140
141} // OWL namespace
142/* ========================================================================== */
143
#define CHECK(condition)
Definition checks.h:239
#define PRECONDITION(condition)
Definition checks.h:227
Class TFlatScroller implements the actual scroller object.
Definition fscroll.h:32
virtual void GetScrollRange(int bar, int &minPos, int &maxPos) const
Definition fscroll.cpp:74
virtual void SetScrollRange(int bar, int minPos, int maxPos, bool redraw=true)
Definition fscroll.cpp:84
virtual ~TFlatScroller()
Definition fscroll.cpp:52
TFlatScroller(TWindow *window, int xUnit, int yUnit, long xRange, long yRange)
Definition fscroll.cpp:39
virtual int GetScrollPage(int bar) const
Definition fscroll.cpp:66
virtual int SetScrollPos(int bar, int pos, bool redraw=true)
Definition fscroll.cpp:101
virtual int GetScrollPos(int bar) const
Definition fscroll.cpp:93
virtual int GetScrollTrackPos(int bar) const
Definition fscroll.cpp:109
virtual void SetScrollPage(int bar, int page, bool redraw=true)
Definition fscroll.cpp:58
Class TScroller implements the actual scroller object.
Definition scroller.h:46
TWindow * Window
Points to the window whose client area scroller is to be managed.
Definition scroller.h:91
TWindow, derived from TEventHandler and TStreamableBase, provides window-specific behavior and encaps...
Definition window.h:414
ipstream, a specialized input stream derivative of pstream, is the base class for reading (extracting...
Definition objstrm.h:391
Definition of class TFlatScroller.
void ReadBaseObject(Base *base, ipstream &in)
Definition objstrm.h:1159
#define IMPLEMENT_STREAMABLE1(cls, base1)
Definition objstrm.h:1725
void WriteBaseObject(Base *base, opstream &out)
Definition objstrm.h:1150
Object Windows Library (OWLNext Core)
Definition animctrl.h:22
unsigned long uint32
Definition number.h:34
void InUse(const T &arg)
Handy utility to avoid compiler warnings about unused parameters.
Definition defs.h:299
OWL_DIAGINFO
Definition animctrl.cpp:14
unsigned int uint
Definition number.h:25
Base window class TWindow definition, including HWND encapsulation.