Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2383)

Unified Diff: core/cross/cairo/layer.h

Issue 5276006: O2D:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/core.gyp ('k') | core/cross/cairo/layer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/cross/cairo/layer.h
===================================================================
--- core/cross/cairo/layer.h (revision 66807)
+++ core/cross/cairo/layer.h (working copy)
@@ -29,97 +29,122 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// An alternative class of Transform for 2d Image Rendering Mode.
+// A Layer is a rectangular region of the O2D canvas to be filled with a
+// particular Pattern, with automatic clipping based on stacking order.
#ifndef O3D_CORE_CROSS_CAIRO_LAYER_H_
#define O3D_CORE_CROSS_CAIRO_LAYER_H_
#include <vector>
-#include "core/cross/bounding_box.h"
-#include "core/cross/param.h"
-#include "core/cross/param_cache.h"
-#include "core/cross/param_object.h"
-#include "core/cross/types.h"
-#include "core/cross/cairo/texture_cairo.h"
+#include "core/cross/object_base.h"
+#include "core/cross/cairo/pattern.h"
+
namespace o3d {
+class IClassManager;
+
namespace o2d {
-class Layer : public ParamObject {
- friend class Client;
+class Layer : public ObjectBase {
public:
typedef SmartPointer<Layer> Ref;
- // Set the corresponding texture for this Layer instance.
- void SetTexture(Texture* texture) {
- texture_ = TextureCairo::Ref(down_cast<TextureCairo*>(texture));
+ Pattern* pattern() const {
+ return pattern_;
}
- TextureCairo* GetTexture() {
- return texture_;
+ void set_pattern(Pattern* pattern) {
+ pattern_ = Pattern::Ref(pattern);
}
- float GetAlpha() {
+ double alpha() const {
return alpha_;
}
- float GetScaleX() {
- return scale_x_;
+ void set_alpha(double alpha) {
+ alpha_ = alpha;
}
- float GetScaleY() {
- return scale_y_;
+ double x() const {
+ return x_;
}
- int GetTranslateX() {
- return translate_x_;
+ void set_x(double x) {
+ x_ = x;
}
- int GetTranslateY() {
- return translate_y_;
+ double y() const {
+ return y_;
}
- // Set the transparency of the Layer.
- void SetAlpha(float alpha) { alpha_ = alpha; }
+ void set_y(double y) {
+ y_ = y;
+ }
- // Translate the given x,y from its origin.
- void Translate(float x, float y) {
- translate_x_ = x;
- translate_y_ = y;
+ double width() const {
+ return width_;
}
- // Scale the image to the given x,y.
- void Scale(float x, float y) {
- scale_x_ = x;
- scale_y_ = y;
+ void set_width(double width) {
+ width_ = width;
}
+ double height() const {
+ return height_;
+ }
+
+ void set_height(double height) {
+ height_ = height;
+ }
+
+ double scale_x() const {
+ return scale_x_;
+ }
+
+ void set_scale_x(double scale_x) {
+ scale_x_ = scale_x;
+ }
+
+ double scale_y() const {
+ return scale_y_;
+ }
+
+ void set_scale_y(double scale_y) {
+ scale_y_ = scale_y;
+ }
+
private:
explicit Layer(ServiceLocator* service_locator);
friend class o3d::IClassManager;
static ObjectBase::Ref Create(ServiceLocator* service_locator);
- // Texture Container.
- TextureCairo::Ref texture_;
+ // The pattern used to paint this Layer.
+ Pattern::Ref pattern_;
- // Transparancy of the scene.
- float alpha_;
+ // Transparancy of this layer.
+ double alpha_;
- // The end-x-size of which the current size needs to scale.
- float scale_x_;
+ // The x coordinate of the top-left corner of this layer.
+ double x_;
- // The end-y-size of which the current size needs to scale.
- float scale_y_;
+ // The y coordinate of the top-left corner of this layer.
+ double y_;
- // Size of x to translate.
- float translate_x_;
+ // The width of this layer.
+ double width_;
- // Size of y to translate.
- float translate_y_;
+ // The height of this layer.
+ double height_;
- O3D_DECL_CLASS(Layer, ParamObject)
+ // A scaling factor to apply to the pattern's x-axis.
+ double scale_x_;
+
+ // A scaling factor to apply to the pattern's y-axis.
+ double scale_y_;
+
+ O3D_DECL_CLASS(Layer, ObjectBase)
}; // Layer
} // namespace o2d
« no previous file with comments | « core/core.gyp ('k') | core/cross/cairo/layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698