blob: e06711d5ad30f2e2810428f78e66e52d2f8992cd [file] [log] [blame]
/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/**
* This file defines the <code>PPB_Buffer_Dev</code> interface.
*/
label Chrome {
M14 = 0.5
};
[assert_size(4)]
enum PP_ScrollBy_Dev {
PP_SCROLLBY_PIXEL = 0,
PP_SCROLLBY_LINE = 1,
PP_SCROLLBY_PAGE = 2,
PP_SCROLLBY_DOCUMENT = 3
};
/**
* The interface for a scrollbar. A scrollbar is a widget, so the functions
* in PPB_Widget can also be used with scrollbar objects.
*/
interface PPB_Scrollbar_Dev {
/**
* Create a new scrollbar. Returns 0 if the instance is invalid.
*/
PP_Resource Create([in] PP_Instance instance,
[in] PP_Bool vertical);
/**
* Returns PP_TRUE if the given resource is a Scrollbar. Returns PP_FALSE if
* the resource is invalid or some type other than a scrollbar.
*/
PP_Bool IsScrollbar([in] PP_Resource resource);
/**
* Gets the thickness of a scrollbar.
*/
uint32_t GetThickness([in] PP_Resource resource);
/**
* Returns PP_TRUE if the system scrollbar style is an overlap scrollbar.
*/
PP_Bool IsOverlay([in] PP_Resource scrollbar);
/**
* Gets the value of the scrollbar.
*/
uint32_t GetValue([in] PP_Resource scrollbar);
/**
* Sets the value of the scrollbar.
*/
void SetValue([in] PP_Resource scrollbar,
[in] uint32_t value);
/**
* Set the document size (i.e. total length of the region that's being
* scrolled).
*/
void SetDocumentSize([in] PP_Resource scrollbar,
[in] uint32_t size);
/**
* Updates the tickmarks. Only valid for vertical scrollbars. "tick_marks"
* contains "count" PP_Rect objects.
*/
void SetTickMarks([in] PP_Resource scrollbar,
[in, size_as=count] PP_Rect[] tick_marks,
[in] uint32_t count);
/**
* Scroll by "multiplier" pixels/lines/pages units. Positive values are
* forward and negative are backward. If "unit" is document then any positive
* value goes to the end while any negative value goes to the beginning.
*/
void ScrollBy([in] PP_Resource scrollbar,
[in] PP_ScrollBy_Dev unit,
[in] int32_t multiplier);
};