/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module rendering {
/** Interface providing access to double/multi-buffer facilities of
screen devices . < p >
This interface provides methods to enable and control
double / multi - buffering facilities on screen devices . < p >
@ since OOo 2 . 0
*/
interface XBufferController : ::com::sun::star::uno::XInterface
{
/** Create the given number of background buffers.<p>
There ' s one buffer implicitly available , which is the canvas
surface itself . Thus , calling < code > createBuffers ( 1 ) < / code >
creates a double - buffered object . < p >
@ param nBuffers
The number of background & lt ; buffers requested . Must be greater
than 0 .
@ return the number of actually generated buffers , which might
be between 0 ( no double - buffering available ) and nBuffers .
@ throws com : : sun : : star : : lang : : IllegalArgumentException
if nBuffers is smaller than one .
*/
long createBuffers( [in] long nBuffers )
raises (com::sun::star::lang::IllegalArgumentException);
/** Destroy all buffers generated via this object.
*/
void destroyBuffers();
/** Switch the display to show the specified buffer.<p>
The method returns , when the switch is performed and the
selected buffer is shown on screen , or immediately when an
error occurs . If the switch was successful , subsequent render
operations will be directed to the new backbuffer . < p >
Use this method if you need your screen display to be in sync
with other things , e . g . sound playback . < p >
@ param bUpdateAll
When ` TRUE ` , update the whole screen . When ` FALSE ` ,
implementation is permitted to restrict update to areas the
canvas itself changed ( e . g . because of render operations , or
changes on the sprites ) . The former is useful for updates
after window expose events , the latter for animation display .
@ return whether the switch was performed successfully .
@ throws com : : sun : : star : : lang : : IllegalArgumentException
if nBuffer is outside the permissible range .
*/
boolean showBuffer( [in] boolean bUpdateAll );
/** Schedule the display of the specified buffer.<p>
The method returns , when the switching of the buffer is
successfully scheduled , or immediately when an error
occurs . If the switch was successful , subsequent render
operations will be directed to the new backbuffer . Note that ,
if the buffer switching is exceedingly slow , or the frequency
of switchBuffer ( ) is exceedingly high , the buffer scheduled
for display here might become the current render target
< em > before < / em > it is fully displayed on screen . In this case ,
any rendering operation to this buffer will block , until it is
safe to perform the operation without visible cluttering . < p >
Use this method if you favor maximal render speed , but don ' t
necessarily require your screen display to be in sync with
other things , e . g . sound playback . < p >
@ param bUpdateAll
When ` TRUE ` , update the whole screen . When ` FALSE ` ,
implementation is permitted to restrict update to areas the
canvas itself changed ( e . g . because of render operations , or
changes on the sprites ) . The former is useful for updates
after window expose events , the latter for animation display .
@ return whether the switch was performed successfully .
*/
boolean switchBuffer( [in] boolean bUpdateAll );
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=92 H=100 G=95
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-10-05)
¤
*© Formatika GbR, Deutschland