Peter Åstrand (astrand)
f523ee14c6
Using namespace rfb in header files is a bad idea
6 years ago
Pierre Ossman
bbf955ebd7
Reimplement the deferred update handling, this time in a more robust and
well-behaved manner.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4784 3789f03b-4d11-0410-bbf8-ca57d06f2519
12 years ago
Constantin Kaplinsky
93d40aa83b
Minor cleanup: declaring PollingManager::sendChanges() as const.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2579 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
303433aae8
Refactoring: now PollingManager is owned by XPixelBuffer. No other classes
know about PollingManager.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2576 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
8a85c49dcb
Code refactoring: PollingManager should not know anything about
XPixelBuffer. This commit partially reverts the changes from r2567.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2575 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
54cfef3a6b
Code refactoring: passing VNCServer pointer to PollingManager methods
instead of maintaining it as a member variable.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2569 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
429ea9689b
Grabbing the screen moved from PollingManager to XPixelBuffer.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2568 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
2c01983400
Code refactoring - PollingManager's constructor is given an XPixelBuffer*
instead of an Image*.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2567 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
82f7b015ea
Removed the code for automatic video detection. It interfered with video
selection feature of the Java viewer, and did not look good with respect to
the impending polling improvements.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2566 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
8650688cb3
Optimized the checkRow() function.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2418 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
41de242536
Minor refactoring: removed getFullRow() function, added its code to getRow().
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2414 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
04aa5201ed
Minor code enhancement: using an inline function instead of inline arithmetic.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2412 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
801123d021
Minor code improvement: added Image::locatePixel(x, y) function to get rid of direct pointer arithmetic.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2411 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
adebffbd8b
Made a number of member variables constants.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2410 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
ec45c48753
Minor refactoring: new m_bytesPerPixel member variable.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2409 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
9d37e5c105
Refactoring: checkRow() has been rationalized; it does not need arguments that it can easily compute itself.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2408 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
850de2b818
Code refactoring: removed extra arguments for member functions.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2407 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
85b5eb9f67
Code refactoring: introduced m_changeFlags member variable, instead of similar local variable.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2406 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
20390a2f46
Minor code refactoring: remembering the number of 32x32 tiles in a member variable.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2405 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
bf11a2d85d
Implemented calls to reportChanges() as conditional macros. This reduces the amount of debugging code.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2400 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
f50bd7f9bf
More debugging output can be enabled with the #define DEBUG_REPORT_CHANGED_TILES.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2399 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
474b12f7b2
Checking neighbor pixels above and below changed tiles, as well as pixels at the left and at the right.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2396 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
1a03211232
If defined DEBUG_PRINT_NUM_CHANGED_TILES, print correct final number of changed tiles detected (excluding video area but including tiles found after "neighbors check").
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2395 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
553340cb32
Polling algorithm was extended. Now, if it detected any changes, it will also check vertical borders of neighboring tiles at the right.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2388 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
52f29d336f
When compiled with defining DEBUG_PRINT_NUM_CHANGED_TILES, print the number of changed tiles detected in each polling pass.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2387 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
4879263e22
Code refactoring and cleanups. Moved a part of handleVideo() back to pollScreen(), changed a few function prototypes, added sanity checking in flagVideoArea().
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2386 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
ed3cf5d029
Maintaining additional one-pixel-width image for using in upcoming polling improvements.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2385 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
bd390358b9
Minor code refactoring -- new flagVideoArea() function, minor naming and formatting changes.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2384 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
936c36902a
Prepared the XPixelBuffer class for grabbing the screen in its grabRegion() method.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2383 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
04e910bd9a
Added a numner of FIXME comments, to identify some possible improvements.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2380 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
1d37802b9e
Implemented new "VideoPriority" parameter. It allows to increase the priority of video data (when set to 2 or higher), or to disable video detection completely (when set to 0). The value 1 gives video area the same priority as the rest of the screen, the value 2 doubles video area priority, and so on.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2379 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
bb56377fed
Making sure that both height and width of the video area are always multiples of 32. This is important for hardware JPEG encoders.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2378 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
dab9a56916
Replaced fprintf(stderr, ...) with proper logging.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2355 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
808db551d5
Code cleanups, changes in variable names only.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2354 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
6bb4bf15b9
Code improvement -- the code from detectVideo() was split into two functions, handleVideo() and detectVideo().
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2353 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
646998a6ce
Optimized detectVideo() function. Now it does the most work only when needed, not each time it's called. The video rectangle (m_videoRect) is now a member variable so it's remembered between calls to poll().
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2352 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
d0b15c6d15
Removed PollPointer parameter and the corresponding code. Polling the screen around the pointer rather decreased polling performance then improved responsiveness.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2351 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
1adc255af3
Removed unused m_changedFlags member variable.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2350 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
9ee8dc6ae7
Removed old polling code, as well as PollingType parameter.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2349 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
c1984e0e89
Combined video detection stuff with new polling code.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2348 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
29d3205026
Fixed a problem with low performance in new polling code.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2347 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
f25307a3be
Bugfix: we should not assume (sizeof(bool) == 1).
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2346 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
5e2f69ffe4
A comment extended.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2345 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
a79255b55a
Code refactoring -- moving a code chunk from poll_New() to a separate sendChanges() method.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2344 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
bc6b9e2b1e
Performing polling via new checkRow() function.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2343 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
a119b48c03
New polling algorithm has been implemented. Video detection is not included in this version though.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2342 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
0fc9f174a0
Improved algorithm of detecting rectangular video area. Old algorithm used the external boundary of the candidate region, while new algoritm uses the biggest rectangular part of the candidate region.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2341 3789f03b-4d11-0410-bbf8-ca57d06f2519
16 years ago
Constantin Kaplinsky
5664998fcf
Special handling for rectangular video area in x0vncserver.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2336 3789f03b-4d11-0410-bbf8-ca57d06f2519
17 years ago
Constantin Kaplinsky
344c3fe719
PollPointer setting now defaults to false. Printing the number of changed tiles in each polling pass if DEBUG is defined (only with PollingType=3).
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2319 3789f03b-4d11-0410-bbf8-ca57d06f2519
17 years ago
Constantin Kaplinsky
b30ae7facb
Migrating to new directory structure adopted from the RealVNC's source tree. More changes will follow.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@590 3789f03b-4d11-0410-bbf8-ca57d06f2519
18 years ago