axmol/cocos/2d/CCSprite.h

713 lines
25 KiB
C
Raw Normal View History

/****************************************************************************
Copyright (c) 2008-2010 Ricardo Quesada
Copyright (c) 2010-2012 cocos2d-x.org
Copyright (c) 2011 Zynga Inc.
2016-08-05 09:42:15 +08:00
Copyright (c) 2013-2016 Chukong Technologies Inc.
http://www.cocos2d-x.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
2013-11-11 11:00:50 +08:00
#ifndef __SPRITE_NODE_CCSPRITE_H__
#define __SPRITE_NODE_CCSPRITE_H__
2014-08-28 17:03:29 +08:00
#include <string>
#include "2d/CCNode.h"
#include "2d/CCDrawNode.h"
Squashed commit of the following: commit a794d107ad85667e3d754f0b6251fc864dfbf288 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 14:33:49 2014 -0700 Yeah... everything compiles on win32 and wp8 commit 4740be6e4a0d16f742c27996e7ab2c100adc76af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 13:58:38 2014 -0700 CCIME moved to base and compiles on Android commit ff3e1bf1eb27a01019f4e1b56d1aebbe2d385f72 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 13:02:57 2014 -0700 compiles Ok for Windows Phone 8 commit 8160a4eb2ecdc61b5bd1cf56b90d2da6f11e3ebd Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 12:25:31 2014 -0700 fixes for Windows Phone 8 commit 418197649efc93032aee0adc205e502101cdb53d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 11:15:13 2014 -0700 Compiles on Win32 commit 08813ed7cf8ac1079ffadeb1ce78ea9e833e1a33 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 10:08:31 2014 -0700 Compiles on linux! commit 118896521e5b335a5257090b6863f1fb2a2002fe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 09:30:42 2014 -0700 moves cocos/2d/platform -> cocos/platform commit 4fe9319d7717b0c1bccb2db0156eeb86255a89e0 Merge: bd68ec2 511295e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 16 08:24:41 2014 -0700 Merge remote-tracking branch 'cocos2d/v3' into files commit bd68ec2f0e3a826d8b2f4b60564ba65ce766bc56 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 15 19:36:23 2014 -0700 files in the correct directory
2014-05-17 05:36:00 +08:00
#include "base/CCProtocols.h"
#include "renderer/CCTextureAtlas.h"
2015-05-22 15:54:56 +08:00
#include "renderer/CCTrianglesCommand.h"
2014-04-30 08:37:36 +08:00
#include "renderer/CCCustomCommand.h"
#include "2d/CCAutoPolygon.h"
NS_CC_BEGIN
class SpriteBatchNode;
class SpriteFrame;
class Animation;
class Rect;
class Size;
class Texture2D;
struct transformValues_;
2015-07-08 15:30:34 +08:00
#ifdef SPRITE_RENDER_IN_SUBPIXEL
#undef SPRITE_RENDER_IN_SUBPIXEL
#endif
#if CC_SPRITEBATCHNODE_RENDER_SUBPIXEL
#define SPRITE_RENDER_IN_SUBPIXEL
#else
#define SPRITE_RENDER_IN_SUBPIXEL(__ARGS__) (ceil(__ARGS__))
#endif
2012-06-20 18:09:11 +08:00
/**
2015-03-23 18:37:28 +08:00
* @addtogroup _2d
2012-06-20 18:09:11 +08:00
* @{
*/
2013-11-11 11:00:50 +08:00
/**
* Sprite is a 2d image ( http://en.wikipedia.org/wiki/Sprite_(computer_graphics) ).
*
* Sprite can be created with an image, or with a sub-rectangle of an image.
*
2014-03-07 08:14:06 +08:00
* To optimize the Sprite rendering, please follow the following best practices:
* - Put all your sprites in the same spritesheet (http://www.codeandweb.com/what-is-a-sprite-sheet).
* - Use the same blending function for all your sprites.
2014-03-07 08:14:06 +08:00
* - ...and the Renderer will automatically "batch" your sprites (will draw all of them in one OpenGL call).
*
2014-03-07 08:14:06 +08:00
* To gain an additional 5% ~ 10% more in the rendering, you can parent your sprites into a `SpriteBatchNode`.
* But doing so carries the following limitations:
*
* - The Alias/Antialias property belongs to `SpriteBatchNode`, so you can't individually set the aliased property.
* - The Blending function property belongs to `SpriteBatchNode`, so you can't individually set the blending function property.
* - `ParallaxNode` is not supported, but can be simulated with a "proxy" sprite.
* - Sprites can only have other Sprites (or subclasses of Sprite) as children.
*
* The default anchorPoint in Sprite is (0.5, 0.5).
*/
class CC_DLL Sprite : public Node, public TextureProtocol
{
public:
/** Sprite invalid index on the SpriteBatchNode. */
static const int INDEX_NOT_INITIALIZED = -1;
/// @name Creators
/// @{
2013-11-11 11:00:50 +08:00
/**
* Creates an empty sprite without texture. You can call setTexture method subsequently.
*
* @memberof Sprite
2014-03-07 08:14:06 +08:00
* @return An autoreleased sprite object.
*/
static Sprite* create();
2013-11-11 11:00:50 +08:00
/**
* Creates a sprite with an image filename.
*
* After creation, the rect of sprite will be the size of the image,
* and the offset will be (0,0).
*
2015-03-23 18:37:28 +08:00
* @param filename A path to image file, e.g., "scene1/monster.png".
2014-03-07 08:14:06 +08:00
* @return An autoreleased sprite object.
*/
static Sprite* create(const std::string& filename);
/**
* Creates a polygon sprite with a polygon info.
*
* After creation, the rect of sprite will be the size of the image,
* and the offset will be (0,0).
*
* @param polygonInfo A path to image file, e.g., "scene1/monster.png".
* @return An autoreleased sprite object.
*/
static Sprite* create(const PolygonInfo& info);
2013-11-11 11:00:50 +08:00
/**
* Creates a sprite with an image filename and a rect.
*
2015-03-23 18:37:28 +08:00
* @param filename A path to image file, e.g., "scene1/monster.png".
* @param rect A subrect of the image file.
* @return An autoreleased sprite object.
*/
static Sprite* create(const std::string& filename, const Rect& rect);
2013-11-11 11:00:50 +08:00
/**
2014-03-07 08:14:06 +08:00
* Creates a sprite with a Texture2D object.
*
* After creation, the rect will be the size of the texture, and the offset will be (0,0).
*
* @param texture A pointer to a Texture2D object.
2015-03-23 18:37:28 +08:00
* @return An autoreleased sprite object.
*/
static Sprite* createWithTexture(Texture2D *texture);
2013-11-11 11:00:50 +08:00
/**
* Creates a sprite with a texture and a rect.
*
* After creation, the offset will be (0,0).
*
* @param texture A pointer to an existing Texture2D object.
* You can use a Texture2D object for many sprites.
* @param rect Only the contents inside the rect of this texture will be applied for this sprite.
* @param rotated Whether or not the rect is rotated.
* @return An autoreleased sprite object.
*/
2013-11-14 07:55:36 +08:00
static Sprite* createWithTexture(Texture2D *texture, const Rect& rect, bool rotated=false);
2013-11-11 11:00:50 +08:00
/**
* Creates a sprite with an sprite frame.
*
* @param spriteFrame A sprite frame which involves a texture and a rect.
* @return An autoreleased sprite object.
*/
2014-03-07 08:14:06 +08:00
static Sprite* createWithSpriteFrame(SpriteFrame *spriteFrame);
2013-11-11 11:00:50 +08:00
/**
* Creates a sprite with an sprite frame name.
*
* A SpriteFrame will be fetched from the SpriteFrameCache by spriteFrameName param.
* If the SpriteFrame doesn't exist it will raise an exception.
*
* @param spriteFrameName A null terminated string which indicates the sprite frame name.
* @return An autoreleased sprite object.
*/
static Sprite* createWithSpriteFrameName(const std::string& spriteFrameName);
2013-11-11 11:00:50 +08:00
// end of creators group
/// @}
2013-11-11 11:00:50 +08:00
/// @{
/// @name BatchNode methods
2013-11-11 11:00:50 +08:00
/**
2013-11-11 11:00:50 +08:00
* Updates the quad according the rotation, position, scale values.
*/
virtual void updateTransform() override;
2013-11-11 11:00:50 +08:00
/**
* Returns the batch node object if this sprite is rendered by SpriteBatchNode.
*
* @return The SpriteBatchNode object if this sprite is rendered by SpriteBatchNode,
* nullptr if the sprite isn't used batch node.
*/
virtual SpriteBatchNode* getBatchNode() const;
/**
2015-03-23 18:37:28 +08:00
* Sets the batch node to sprite.
* @warning This method is not recommended for game developers. Sample code for using batch node
* @code
* SpriteBatchNode *batch = SpriteBatchNode::create("Images/grossini_dance_atlas.png", 15);
* Sprite *sprite = Sprite::createWithTexture(batch->getTexture(), Rect(0, 0, 57, 57));
* batch->addChild(sprite);
* layer->addChild(batch);
* @endcode
*/
virtual void setBatchNode(SpriteBatchNode *spriteBatchNode);
2013-11-11 11:00:50 +08:00
/// @} end of BatchNode methods
2013-11-11 11:00:50 +08:00
/// @{
2013-11-14 07:55:36 +08:00
/// @name Texture / Frame methods
/** Sets a new texture (from a filename) to the sprite.
*
* @memberof Sprite
* It will call `setTextureRect()` with the texture's content size.
*/
2013-11-14 07:55:36 +08:00
virtual void setTexture(const std::string &filename );
2013-11-11 11:00:50 +08:00
/** @overload
*
* The Texture's rect is not changed.
*/
virtual void setTexture(Texture2D *texture) override;
/** Returns the Texture2D object used by the sprite. */
virtual Texture2D* getTexture() const override;
/**
* Updates the texture rect of the Sprite in points.
*
* It will call setTextureRect(const Rect& rect, bool rotated, const Size& untrimmedSize) with \p rotated = false, and \p utrimmedSize = rect.size.
*/
virtual void setTextureRect(const Rect& rect);
2013-11-11 11:00:50 +08:00
/** @overload
*
* It will update the texture coordinates and the vertex rectangle.
*/
virtual void setTextureRect(const Rect& rect, bool rotated, const Size& untrimmedSize);
2013-11-11 11:00:50 +08:00
/**
* Sets the vertex rect.
*
* It will be called internally by setTextureRect.
* Useful if you want to create 2x images from SD images in Retina Display.
* Do not call it manually. Use setTextureRect instead.
*/
virtual void setVertexRect(const Rect& rect);
2013-11-11 11:00:50 +08:00
/**
* setCenterRectNormalized
*
* Useful to implement "9 sliced" sprites.
* The default value is (0,0) - (1,1), which means that only one "slice" will be used: From top-left (0,0) to bottom-right (1,1).
* If the value is different than (0,0), (1,1), then the sprite will be sliced into a 3 x 3 grid. The four corners of this grid are applied without
* performing any scaling. The upper- and lower-middle parts are scaled horizontally, and the left- and right-middle parts are scaled vertically.
* The center is scaled in both directions.
* Important: The scaling is based the Sprite's trimmed size.
*
* Limitations: Does not work when the sprite is part of `SpriteBatchNode`.
*/
virtual void setCenterRectNormalized(const Rect& rect);
/**
* getCenterRectNormalized
*
* Returns the CenterRect in normalized coordinates
*/
virtual Rect getCenterRectNormalized() const;
/* setCenterRect
*
* Like `setCenterRectNormalized`, but instead of being in normalized coordinates, it is in points coordinates
*/
virtual void setCenterRect(const Rect& rect);
/**
* @brief Returns the Cap Insets rect
*
* @return Scale9Sprite's cap inset.
*/
virtual Rect getCenterRect() const;
/** @{
2013-11-14 07:55:36 +08:00
* Sets a new SpriteFrame to the Sprite.
*/
2013-11-14 07:55:36 +08:00
virtual void setSpriteFrame(const std::string &spriteFrameName);
virtual void setSpriteFrame(SpriteFrame* newFrame);
/** @} */
2013-11-14 07:55:36 +08:00
/** @deprecated Use `setSpriteFrame()` instead. */
CC_DEPRECATED_ATTRIBUTE virtual void setDisplayFrame(SpriteFrame *newFrame) { setSpriteFrame(newFrame); }
2013-11-11 11:00:50 +08:00
/**
* Returns whether or not a SpriteFrame is being displayed.
*/
virtual bool isFrameDisplayed(SpriteFrame *frame) const;
2013-11-11 11:00:50 +08:00
/**
* Returns the current displayed frame.
*/
virtual SpriteFrame* getSpriteFrame() const;
/** @deprecated Use `getSpriteFrame()` instead.
* @js NA
*/
CC_DEPRECATED_ATTRIBUTE virtual SpriteFrame* getDisplayFrame() const { return getSpriteFrame(); }
/** @deprecated Use `getSpriteFrame()` instead. */
CC_DEPRECATED_ATTRIBUTE virtual SpriteFrame* displayFrame() const { return getSpriteFrame(); };
2013-11-11 11:00:50 +08:00
/// @} End of frames methods
2013-11-11 11:00:50 +08:00
/// @{
/// @name Animation methods
/**
* Changes the display frame with animation name and index.
* The animation name will be get from the AnimationCache.
*/
2013-12-12 12:07:20 +08:00
virtual void setDisplayFrameWithAnimationName(const std::string& animationName, ssize_t frameIndex);
/// @}
2013-11-11 11:00:50 +08:00
/// @{
/// @name Sprite Properties' setter/getters.
2013-11-11 11:00:50 +08:00
/**
* Whether or not the Sprite needs to be updated in the Atlas.
*
2015-03-23 18:37:28 +08:00
* @return True if the sprite needs to be updated in the Atlas, false otherwise.
*/
virtual bool isDirty() const { return _dirty; }
2013-11-11 11:00:50 +08:00
/**
* Makes the Sprite to be updated in the Atlas.
*/
2014-02-25 07:18:07 +08:00
virtual void setDirty(bool dirty) { _dirty = dirty; }
2013-11-11 11:00:50 +08:00
/**
* Returns the quad (tex coords, vertex coords and color) information.
* @js NA
* @lua NA
*/
V3F_C4B_T2F_Quad getQuad() const { return _quad; }
2013-11-11 11:00:50 +08:00
/**
* Returns whether or not the texture rectangle is rotated.
*/
bool isTextureRectRotated() const { return _rectRotated; }
2013-11-11 11:00:50 +08:00
/**
* Returns the index used on the TextureAtlas.
*/
ssize_t getAtlasIndex() const { return _atlasIndex; }
2013-11-11 11:00:50 +08:00
/**
* Sets the index used on the TextureAtlas.
*
* @warning Don't modify this value unless you know what you are doing.
*/
void setAtlasIndex(ssize_t atlasIndex) { _atlasIndex = atlasIndex; }
2013-11-11 11:00:50 +08:00
/**
* Returns the rect of the Sprite in points.
*/
const Rect& getTextureRect() const { return _rect; }
/**
* Gets the weak reference of the TextureAtlas when the sprite is rendered using via SpriteBatchNode.
*/
TextureAtlas* getTextureAtlas() const { return _textureAtlas; }
2013-11-11 11:00:50 +08:00
/**
* Sets the weak reference of the TextureAtlas when the sprite is rendered using via SpriteBatchNode.
*/
void setTextureAtlas(TextureAtlas *textureAtlas) { _textureAtlas = textureAtlas; }
2013-11-11 11:00:50 +08:00
/**
* Gets the offset position of the sprite. Calculated automatically by editors like Zwoptex.
*/
const Vec2& getOffsetPosition() const { return _offsetPosition; }
2013-11-11 11:00:50 +08:00
/**
* Returns the flag which indicates whether the sprite is flipped horizontally or not.
*
* It only flips the texture of the sprite, and not the texture of the sprite's children.
* Also, flipping the texture doesn't alter the anchorPoint.
* If you want to flip the anchorPoint too, and/or to flip the children too use:
* sprite->setScaleX(sprite->getScaleX() * -1);
*
2013-11-11 11:00:50 +08:00
* @return true if the sprite is flipped horizontally, false otherwise.
*/
bool isFlippedX() const;
/**
* Sets whether the sprite should be flipped horizontally or not.
*
2013-11-11 11:00:50 +08:00
* @param flippedX true if the sprite should be flipped horizontally, false otherwise.
*/
void setFlippedX(bool flippedX);
2013-11-11 11:00:50 +08:00
/** @deprecated Use isFlippedX() instead.
* @js NA
* @lua NA
*/
CC_DEPRECATED_ATTRIBUTE bool isFlipX() { return isFlippedX(); };
/** @deprecated Use setFlippedX() instead
* @js NA
*/
2013-11-11 11:00:50 +08:00
CC_DEPRECATED_ATTRIBUTE void setFlipX(bool flippedX) { setFlippedX(flippedX); };
/**
* Return the flag which indicates whether the sprite is flipped vertically or not.
2013-11-11 11:00:50 +08:00
*
* It only flips the texture of the sprite, and not the texture of the sprite's children.
* Also, flipping the texture doesn't alter the anchorPoint.
* If you want to flip the anchorPoint too, and/or to flip the children too use:
* sprite->setScaleY(sprite->getScaleY() * -1);
2013-11-11 11:00:50 +08:00
*
* @return true if the sprite is flipped vertically, false otherwise.
*/
bool isFlippedY() const;
/**
* Sets whether the sprite should be flipped vertically or not.
*
2013-11-11 11:00:50 +08:00
* @param flippedY true if the sprite should be flipped vertically, false otherwise.
*/
void setFlippedY(bool flippedY);
2013-11-11 11:00:50 +08:00
/// @} End of Sprite properties getter/setters
2013-11-11 11:00:50 +08:00
/** @deprecated Use isFlippedY() instead.
* @js NA
*/
CC_DEPRECATED_ATTRIBUTE bool isFlipY() { return isFlippedY(); };
/** @deprecated Use setFlippedY() instead.
* @js NA
*/
2013-11-11 11:00:50 +08:00
CC_DEPRECATED_ATTRIBUTE void setFlipY(bool flippedY) { setFlippedY(flippedY); };
2015-10-29 10:41:58 +08:00
/**
* returns a reference of the polygon information associated with this sprite
*
* @return a reference of PolygonInfo
2015-10-29 10:41:58 +08:00
*/
const PolygonInfo& getPolygonInfo() const;
2015-10-29 10:41:58 +08:00
/**
* set the sprite to use this new PolygonInfo
*
* @param PolygonInfo the polygon information object
*/
void setPolygonInfo(const PolygonInfo& info);
Scale9Sprite refactor (#16891) * Squashed commit of the following: commit 026eee59c9ece7fc59d71fead41104f375f72eb5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 22 21:45:12 2016 -0800 yay! everything works! commit a645c99d44f0d7674e6238afae7628d8d2a030b1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 22 14:55:31 2016 -0800 more fixes in Scale9Sprite commit 3a688f4ea70c0abe311232c65ed14a7e9acc7611 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 23:06:45 2016 -0800 rotated sprites commit 45e2085df3aa4b52236c817f7db7c1f6602c1e95 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 17:10:44 2016 -0800 android patch 9: fixes is not 100% backward compatible since the previous version had some artifacts. fixed the artifacts. now it renders ok commit 4655d894387fa40a7e63b074a36bfed20e41d5f9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 16:31:29 2016 -0800 sprite: correct size for "fake scale9" commit cb98aba27cc1c82a986268d5b74afb55b6cca2f3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 21:55:51 2016 -0800 sprite: adds setStrechEnabled for backward compatibility and other fixes commit c0fe67aac54cd62e3846810d56f87133f3a7343b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 18:49:42 2016 -0800 implemts missing functions in scale9sprite commit e471ef318725ccabc9eca2c062e285e9ca4f9a81 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 18:42:30 2016 -0800 "batched" works commit 33124bfb14d1f275d4b0ffca8989975625a8a76d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 18:59:38 2016 -0800 more fixes commit 149f8206269843af63a1739885c00ed8d94c239c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 18:37:12 2016 -0800 scale 9 rotated not fixed yet. but making progress commit 27f98275d94ce00c8d5ff0b6f74b5c22723cc3c3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 15:32:57 2016 -0800 sprite: streching works ok with normal sprites commit 2519498cac8b77a32dee5bdf1805be56fbda5ed6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 12:12:28 2016 -0800 somes fixes... still not working commit 43580d0b4aa976b0200717611a286bf1035c472d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 15 23:15:22 2016 -0800 more bug fixes related to untrimmed setCenterRect... ...in SCale9Sprite commit 407247616e506afaa0415c58ad7fce38efed0cd9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 15 22:13:38 2016 -0800 spritecale9: untrimmed vs. trimmed capInsets WIP. there still a few bugs commit 3d845b2af3500be287fabb04bb6ba0ec04dbb401 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 14 23:11:17 2016 -0800 started progressbar commit 0a44b00daf723869b7105689890f29cd53a62608 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 14 17:43:23 2016 -0800 adds EditBox test commit 330304bd9b2e762de95c2f27f1ae3ceee83b2fbf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 16:57:08 2016 -0800 adds elastic to scroll view commit a06a35f8691ff56a143953c44acd947b519150b6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 15:58:29 2016 -0800 yay! scrollview works commit 37748a885c62eca8c00d2c9c11ee103f1d95e71c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 15:33:58 2016 -0800 yet more scrollview fixes commit a6e563b497adef7b141ac7c92c844d479b244c59 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 14:48:28 2016 -0800 initial scroll view commit 4243edd7548e5533ca03c26d5042f8dc5517445a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 8 17:50:15 2016 -0800 sanity check in frames. missing files commit 159d88603ad22f3c01761b60bacec98d52b9041d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 19:21:00 2016 -0800 three buttons working commit 6764cfc7937a1a81d6993d5e32a21f17457b8e0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:50:22 2016 -0800 missing files commit 11c1fa3812e706a7d34137fe2626f05ab73ee3e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:49:59 2016 -0800 button works! commit 26b6de4c28fc973e332dd51fcd763a6249c0b4c2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:19:47 2016 -0800 Scale9: more fixes. complies with odd Rect::ZERO behavior commit ce561268096afe322f25034eeab3508a60027afd Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 11:50:42 2016 -0800 label: setTitleLabel commit 51b5536cd2af36896002621f75c7310960c3f5e7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 17:41:08 2016 -0700 UIButton kind of working commit 7562a49a761ef70c383a99d2addefc63d77e279f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 11:11:42 2016 -0700 missing resoruces commit a9890dee5da0104bff6872cc04e8786a6c0a9018 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 10:54:55 2016 -0700 setCenterRect to .cpp file commit c9c4bb55ed3fc55709eca46c43d1bfe5301c317f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 00:19:51 2016 -0700 removed unused paramter commit e47732934cca79c08e6fe96e46ebdf075508e568 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 18:19:31 2016 -0700 flipping works! commit c9769bacd321aeddf84e1772dd270f12194d2f04 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 17:57:53 2016 -0700 spirte flip fixes... not finished yet commit 1cbdc8e12cc6d0d2728c06dfabaada001784a178 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 09:53:16 2016 -0700 centerRect changes commit aeb1b14c00331dabba640f52d79ab0e255fa3407 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 09:10:41 2016 -0700 changes from v3 commit e7a61c4a20d786c2bc1d6f57e33bf3ac95cb6f21 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 17:01:15 2016 -0700 sprite: rotated slice 9 works as expected commit 91049389426051deb49a9d951364bf60abaf4532 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 15:39:54 2016 -0700 more bug fixes in scale9sprite support commit 9feb12449078441c439df16dc7bcfb4506c7a226 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 13:22:52 2016 -0700 Android's Patch 9 works as expected commit 1cf46afe3e7f7f5f714d30779caefc25a9bb1b3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 10:18:47 2016 -0700 Sprite: uses capInsets instead of centerRect just to share the same API as Scale9Sprite commit e944fa0248a7eb58012aacb229de1a9b814e0aef Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 18:59:42 2016 -0700 scale9sprite support fixes commit b08765740d480b6ae1491800161b40d88f458767 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 17:38:47 2016 -0700 more scale9sprite fixes commit 388a34d93de5e6007a2cecea959c929f26427cab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 17:20:01 2016 -0700 UI::Scale9Sprite refactoring subclass of Sprite... much cleaner! commit c84ec8ee654f74d4b38be2d0a3d7ffe6adbc6faf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 20:58:36 2016 -0700 supports tiled sprites commit d2b18eb47a647b29319488bd53edac9f304acb84 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 19:21:57 2016 -0700 testing tiled sprite commit b4832ab2facc01cbb624db587ede01fe7acf23e8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 16:53:19 2016 -0700 using correct top-left coordinates for setCenterRect commit 29d8de86a71cc597b2338f59f7951a28ee0c93b2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 16:46:13 2016 -0700 fixes from scale_sprite9 branch commit ccbe1063bea7db75397ecaf9046aac3dd977a621 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 19:01:50 2016 -0700 updated example commit 24f7f85d4eba80f8e543810dcbc1a02447900bdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 18:47:28 2016 -0700 more fixes in nine slice commit df3358fae68f2d81baf3a8cbe033a4c400ea50da Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 18:22:14 2016 -0700 anchor point fixes commit 4ac7409bc72425abb0dc747b956ec346fbd1b2fa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 17:01:48 2016 -0700 support for slice-9 from creator commit a3221375d3a9defc2e03df0b1c2da1b36dfdd491 Merge: 73e5389 d7490d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 14:13:38 2016 -0700 Merge branch 'sprite_scale9' into creator_cpp_support commit d7490d94896ad0ce8705dc0695252cee34329b5e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 13 14:34:52 2016 -0700 Adds slice9 support for Sprite. how to use it: // points coords sprite->setCenterRect(Rect(x,y,w,h)); // normalized coords sprite->setCenterRectNormalized(Rect(x,y,w,h)); starts scale9sprite in sprite more slice 9 changes sprite 9 slice works? kind of works correct anchor point slice 9 works, at least with non-rotated atlases streched works ok better Y invert code. cleaner, compatible with the previous code yay, scaling workings... need a better api now sets scale correctly yay! works as expected! more fixes and tests better test for box setContentSize() changes size in non-9-slice mode sprites as well setCenterRect() -> setCenterRectNormalized() yet another test adds setPositionNormalized() adds setCenterRect() tests remove devel team from xcode tests: add one more tests fun test! improved test yet another test for slice 9 commit 73e5389ef719880096067d0f7d0bffd6e1f3cfd1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Oct 9 18:54:22 2016 -0700 kind of ProgressBar support commit 4db5e9e7369e93ceba1d9512ab88c26b843c43d5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 7 16:23:54 2016 -0700 new generatred ui files commit 75aa06f3d39df8c6aa898d5e6810b3cd8015c07b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 6 10:44:59 2016 -0700 bette canvas support commit 89beacac478fc7f58ef930963b6393f3da4a743c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 21:47:11 2016 -0700 sprites tests commit 5fe930ad50c2c1b6d868982709c7b659176f9889 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 18:35:44 2016 -0700 more label tests commit d3f615a097d080d78f2ebd95f3e2388da45f92db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 18:08:24 2016 -0700 label tests commit 2a4018922ce8d36117f7092fc324e37cf75fdeab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 21:52:56 2016 -0700 label fixes commit 41fafbd023de63e376d014311605f2b156add307 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 19:14:58 2016 -0700 updated test commit 06919fc28fffbc5a20cd14bdcc2ad2ff997e0da1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 18:50:45 2016 -0700 creator tests: works commit 6e362e7cc7f68dc216b569a7f7f90aaa110c0e4a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 27 23:15:56 2016 -0700 autogen: new data commit e78078b2ad84b4e364827a66f1c459de7384a91d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 26 18:18:57 2016 -0700 fix: initial test for CPP support for Creator * adds more documentation * adds more documentation
2016-11-24 09:59:00 +08:00
/** whether or not contentSize streches the sprite's texture */
void setStrechEnabled(bool enabled);
/** returns whether or not contentSize streches the sprite's texture */
bool isStrechEnabled() const;
//
// Overrides
//
/// @{
2015-03-23 18:37:28 +08:00
/// @name Functions inherited from TextureProtocol.
/**
*@code
*When this function bound into js or lua,the parameter will be changed.
2015-03-23 18:37:28 +08:00
*In js: var setBlendFunc(var src, var dst).
*In lua: local setBlendFunc(local src, local dst).
*@endcode
*/
void setBlendFunc(const BlendFunc &blendFunc) override { _blendFunc = blendFunc; }
/**
* @js NA
* @lua NA
*/
const BlendFunc& getBlendFunc() const override { return _blendFunc; }
/// @}
/**
* @js NA
*/
virtual std::string getDescription() const override;
/// @{
/// @name Functions inherited from Node.
virtual void setScaleX(float scaleX) override;
virtual void setScaleY(float scaleY) override;
2013-11-06 21:42:31 +08:00
virtual void setScale(float scaleX, float scaleY) override;
/**
* @js NA
* @lua NA
*/
Squashed commit of the following: commit a9572b8913f3a38b59adbd7b4017ab9848a6b2b5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 14 10:03:44 2014 -0700 math renames `Vector2` -> `Vec2` `Vector3` -> `Vec3` `Vector4` -> `Vec4` `Matrix` -> `Mat4` commit 4e107f4bd854c26bfceb52b063d6bd9cea02d6a3 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:24:28 2014 -0700 raw version of rename Vector3 commit 1d115573ebe96a5fc815fa44fbe6417ea7dba841 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:07:14 2014 -0700 rename Vector2 after merge commit ab2ed58c129dbc30a4c0970ed94568c5d271657b Merge: 1978d2d 86fb75a Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:05:30 2014 -0700 Merge branch 'v3' into v3_renameMathClassName Conflicts: tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIButtonTest/UIButtonTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UICheckBoxTest/UICheckBoxTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISliderTest/UISliderTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest_Editor.cpp commit 1978d2d174877172ccddc083020a1bbf43ad3b39 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 08:51:45 2014 -0700 rename vector2 in tests/cpp-empty-test folder commit d4e0ff13dcce62724d2fece656543f26aa28e467 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:58:23 2014 -0700 rename vector2 in tests/cpp-tests cpp files commit be50ca2ec75e0fd32a6fcdaa15fe1ebb4cafe79f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:52:57 2014 -0700 rename vector2 in tests/cpp-tests head files commit 6daef564400d4e28c4ce20859a68e0f583fed125 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:49:48 2014 -0700 rename vector2 in extension folder commit 8f3f0f65ceea92c9e7a0d87ab54e62220c5572e2 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:47:22 2014 -0700 rename vector2 in cocos/2d cpp files commit e1f3105aae06d595661a3030f519f7cc13aefbed Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:44:39 2014 -0700 rename vector2 in cocos/2d head files commit 6708d890bfe486109120c3cd4b9fe5c078b7108f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:59 2014 -0700 rename vector2 in cocos/base folder commit d3978fa5447c31ea2f3ece5469b7e746dfba4248 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:43 2014 -0700 rename vector2 in cocos/deprecated folder commit 4bff45139363d6b9706edbbcf9f322d48b4fd019 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:26 2014 -0700 rename vector2 in cocos/editor-support folder commit 353d244c995f8b5d14f635c52aed8bc5e5fc1a6f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:36:48 2014 -0700 rename vector2 in cocos/ui folder commit 758b8f4d513084b9922d7242e9b8f2c7f316de6c Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:39 2014 -0700 rename vector2 in cocos/renderer folder commit 0bd2710dd8714cecb993880bc37affd9ecb05c27 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:15 2014 -0700 rename vector2 in cocos/physics folder commit b7f0581c4587348bdbc1478d5374c2325735f21d Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:25:01 2014 -0700 rename vector2 in cocos/math folder commit a8631a8e1a4e2740807ccd9be9d70de6ecaad7dd Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:16:55 2014 -0700 rename Vector2 to Vec2 deprecate typedef Vector2
2014-05-15 01:07:09 +08:00
virtual void setPosition(const Vec2& pos) override;
virtual void setPosition(float x, float y) override;
virtual void setRotation(float rotation) override;
virtual void setRotationSkewX(float rotationX) override;
virtual void setRotationSkewY(float rotationY) override;
virtual void setSkewX(float sx) override;
virtual void setSkewY(float sy) override;
virtual void removeChild(Node* child, bool cleanup) override;
virtual void removeAllChildrenWithCleanup(bool cleanup) override;
virtual void reorderChild(Node *child, int zOrder) override;
using Node::addChild;
virtual void addChild(Node *child, int zOrder, int tag) override;
2014-06-25 11:27:48 +08:00
virtual void addChild(Node *child, int zOrder, const std::string &name) override;
virtual void sortAllChildren() override;
virtual void setScale(float scale) override;
virtual void setPositionZ(float positionZ) override;
Squashed commit of the following: commit a9572b8913f3a38b59adbd7b4017ab9848a6b2b5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 14 10:03:44 2014 -0700 math renames `Vector2` -> `Vec2` `Vector3` -> `Vec3` `Vector4` -> `Vec4` `Matrix` -> `Mat4` commit 4e107f4bd854c26bfceb52b063d6bd9cea02d6a3 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:24:28 2014 -0700 raw version of rename Vector3 commit 1d115573ebe96a5fc815fa44fbe6417ea7dba841 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:07:14 2014 -0700 rename Vector2 after merge commit ab2ed58c129dbc30a4c0970ed94568c5d271657b Merge: 1978d2d 86fb75a Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:05:30 2014 -0700 Merge branch 'v3' into v3_renameMathClassName Conflicts: tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIButtonTest/UIButtonTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UICheckBoxTest/UICheckBoxTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISliderTest/UISliderTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest_Editor.cpp commit 1978d2d174877172ccddc083020a1bbf43ad3b39 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 08:51:45 2014 -0700 rename vector2 in tests/cpp-empty-test folder commit d4e0ff13dcce62724d2fece656543f26aa28e467 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:58:23 2014 -0700 rename vector2 in tests/cpp-tests cpp files commit be50ca2ec75e0fd32a6fcdaa15fe1ebb4cafe79f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:52:57 2014 -0700 rename vector2 in tests/cpp-tests head files commit 6daef564400d4e28c4ce20859a68e0f583fed125 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:49:48 2014 -0700 rename vector2 in extension folder commit 8f3f0f65ceea92c9e7a0d87ab54e62220c5572e2 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:47:22 2014 -0700 rename vector2 in cocos/2d cpp files commit e1f3105aae06d595661a3030f519f7cc13aefbed Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:44:39 2014 -0700 rename vector2 in cocos/2d head files commit 6708d890bfe486109120c3cd4b9fe5c078b7108f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:59 2014 -0700 rename vector2 in cocos/base folder commit d3978fa5447c31ea2f3ece5469b7e746dfba4248 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:43 2014 -0700 rename vector2 in cocos/deprecated folder commit 4bff45139363d6b9706edbbcf9f322d48b4fd019 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:26 2014 -0700 rename vector2 in cocos/editor-support folder commit 353d244c995f8b5d14f635c52aed8bc5e5fc1a6f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:36:48 2014 -0700 rename vector2 in cocos/ui folder commit 758b8f4d513084b9922d7242e9b8f2c7f316de6c Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:39 2014 -0700 rename vector2 in cocos/renderer folder commit 0bd2710dd8714cecb993880bc37affd9ecb05c27 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:15 2014 -0700 rename vector2 in cocos/physics folder commit b7f0581c4587348bdbc1478d5374c2325735f21d Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:25:01 2014 -0700 rename vector2 in cocos/math folder commit a8631a8e1a4e2740807ccd9be9d70de6ecaad7dd Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:16:55 2014 -0700 rename Vector2 to Vec2 deprecate typedef Vector2
2014-05-15 01:07:09 +08:00
virtual void setAnchorPoint(const Vec2& anchor) override;
virtual void setContentSize(const Size& size) override;
2016-04-22 20:36:02 +08:00
virtual void setIgnoreAnchorPointForPosition(bool value) override;
virtual void setVisible(bool bVisible) override;
virtual void draw(Renderer *renderer, const Mat4 &transform, uint32_t flags) override;
virtual void setOpacityModifyRGB(bool modify) override;
virtual bool isOpacityModifyRGB() const override;
/// @}
int getResourceType() const { return _fileType; }
2016-02-15 23:25:01 +08:00
const std::string& getResourceName() const { return _fileName; }
CC_CONSTRUCTOR_ACCESS :
/**
* @js ctor
*/
Sprite();
virtual ~Sprite();
2013-11-14 07:55:36 +08:00
/* Initializes an empty sprite with no parameters. */
virtual bool init() override;
2013-11-14 07:55:36 +08:00
/**
* Initializes a sprite with a texture.
*
* After initialization, the rect used will be the size of the texture, and the offset will be (0,0).
*
* @param texture A pointer to an existing Texture2D object.
* You can use a Texture2D object for many sprites.
2015-03-27 11:39:31 +08:00
* @return True if the sprite is initialized properly, false otherwise.
2013-11-14 07:55:36 +08:00
*/
virtual bool initWithTexture(Texture2D *texture);
/**
* Initializes a sprite with a PolygonInfo.
*
* After initialization, the rect used will be the size of the texture, and the offset will be (0,0).
*
* @param PolygonInfo a Polygon info contains the structure of the polygon.
* @return True if the sprite is initialized properly, false otherwise.
*/
virtual bool initWithPolygon(const PolygonInfo& info);
2013-11-14 07:55:36 +08:00
/**
* Initializes a sprite with a texture and a rect.
*
* After initialization, the offset will be (0,0).
*
2015-10-23 15:37:33 +08:00
* @param texture A pointer to an existing Texture2D object.
2013-11-14 07:55:36 +08:00
* You can use a Texture2D object for many sprites.
* @param rect Only the contents inside rect of this texture will be applied for this sprite.
2015-03-27 11:39:31 +08:00
* @return True if the sprite is initialized properly, false otherwise.
2013-11-14 07:55:36 +08:00
*/
virtual bool initWithTexture(Texture2D *texture, const Rect& rect);
/**
* Initializes a sprite with a texture and a rect in points, optionally rotated.
*
* After initialization, the offset will be (0,0).
* @note This is the designated initializer.
*
* @param texture A Texture2D object whose texture will be applied to this sprite.
* @param rect A rectangle assigned the contents of texture.
* @param rotated Whether or not the texture rectangle is rotated.
2015-03-27 11:39:31 +08:00
* @return True if the sprite is initialized properly, false otherwise.
2013-11-14 07:55:36 +08:00
*/
virtual bool initWithTexture(Texture2D *texture, const Rect& rect, bool rotated);
/**
* Initializes a sprite with an SpriteFrame. The texture and rect in SpriteFrame will be applied on this sprite.
2013-11-14 07:55:36 +08:00
*
2015-03-27 11:39:31 +08:00
* @param spriteFrame A SpriteFrame object. It should includes a valid texture and a rect.
* @return True if the sprite is initialized properly, false otherwise.
2013-11-14 07:55:36 +08:00
*/
virtual bool initWithSpriteFrame(SpriteFrame *spriteFrame);
2013-11-14 07:55:36 +08:00
/**
* Initializes a sprite with an sprite frame name.
*
* A SpriteFrame will be fetched from the SpriteFrameCache by name.
* If the SpriteFrame doesn't exist it will raise an exception.
*
* @param spriteFrameName A key string that can fetched a valid SpriteFrame from SpriteFrameCache.
2015-03-27 11:39:31 +08:00
* @return True if the sprite is initialized properly, false otherwise.
2013-11-14 07:55:36 +08:00
*/
virtual bool initWithSpriteFrameName(const std::string& spriteFrameName);
/**
* Initializes a sprite with an image filename.
*
* This method will find filename from local file system, load its content to Texture2D,
* then use Texture2D to create a sprite.
* After initialization, the rect used will be the size of the image. The offset will be (0,0).
*
* @param filename The path to an image file in local file system.
2015-03-27 11:39:31 +08:00
* @return True if the sprite is initialized properly, false otherwise.
2013-11-14 07:55:36 +08:00
* @lua init
*/
virtual bool initWithFile(const std::string& filename);
/**
* Initializes a sprite with an image filename, and a rect.
*
* This method will find filename from local file system, load its content to Texture2D,
* then use Texture2D to create a sprite.
* After initialization, the offset will be (0,0).
*
* @param filename The path to an image file in local file system.
* @param rect The rectangle assigned the content area from texture.
2015-03-27 11:39:31 +08:00
* @return True if the sprite is initialized properly, false otherwise.
2013-11-14 07:55:36 +08:00
* @lua init
*/
virtual bool initWithFile(const std::string& filename, const Rect& rect);
2015-06-04 15:43:31 +08:00
protected:
virtual void updateColor() override;
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
virtual void setTextureCoords(const Rect& rect);
virtual void setTextureCoords(const Rect& rect, V3F_C4B_T2F_Quad* outQuad);
Scale9Sprite refactor (#16891) * Squashed commit of the following: commit 026eee59c9ece7fc59d71fead41104f375f72eb5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 22 21:45:12 2016 -0800 yay! everything works! commit a645c99d44f0d7674e6238afae7628d8d2a030b1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 22 14:55:31 2016 -0800 more fixes in Scale9Sprite commit 3a688f4ea70c0abe311232c65ed14a7e9acc7611 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 23:06:45 2016 -0800 rotated sprites commit 45e2085df3aa4b52236c817f7db7c1f6602c1e95 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 17:10:44 2016 -0800 android patch 9: fixes is not 100% backward compatible since the previous version had some artifacts. fixed the artifacts. now it renders ok commit 4655d894387fa40a7e63b074a36bfed20e41d5f9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 16:31:29 2016 -0800 sprite: correct size for "fake scale9" commit cb98aba27cc1c82a986268d5b74afb55b6cca2f3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 21:55:51 2016 -0800 sprite: adds setStrechEnabled for backward compatibility and other fixes commit c0fe67aac54cd62e3846810d56f87133f3a7343b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 18:49:42 2016 -0800 implemts missing functions in scale9sprite commit e471ef318725ccabc9eca2c062e285e9ca4f9a81 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 18:42:30 2016 -0800 "batched" works commit 33124bfb14d1f275d4b0ffca8989975625a8a76d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 18:59:38 2016 -0800 more fixes commit 149f8206269843af63a1739885c00ed8d94c239c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 18:37:12 2016 -0800 scale 9 rotated not fixed yet. but making progress commit 27f98275d94ce00c8d5ff0b6f74b5c22723cc3c3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 15:32:57 2016 -0800 sprite: streching works ok with normal sprites commit 2519498cac8b77a32dee5bdf1805be56fbda5ed6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 12:12:28 2016 -0800 somes fixes... still not working commit 43580d0b4aa976b0200717611a286bf1035c472d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 15 23:15:22 2016 -0800 more bug fixes related to untrimmed setCenterRect... ...in SCale9Sprite commit 407247616e506afaa0415c58ad7fce38efed0cd9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 15 22:13:38 2016 -0800 spritecale9: untrimmed vs. trimmed capInsets WIP. there still a few bugs commit 3d845b2af3500be287fabb04bb6ba0ec04dbb401 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 14 23:11:17 2016 -0800 started progressbar commit 0a44b00daf723869b7105689890f29cd53a62608 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 14 17:43:23 2016 -0800 adds EditBox test commit 330304bd9b2e762de95c2f27f1ae3ceee83b2fbf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 16:57:08 2016 -0800 adds elastic to scroll view commit a06a35f8691ff56a143953c44acd947b519150b6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 15:58:29 2016 -0800 yay! scrollview works commit 37748a885c62eca8c00d2c9c11ee103f1d95e71c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 15:33:58 2016 -0800 yet more scrollview fixes commit a6e563b497adef7b141ac7c92c844d479b244c59 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 14:48:28 2016 -0800 initial scroll view commit 4243edd7548e5533ca03c26d5042f8dc5517445a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 8 17:50:15 2016 -0800 sanity check in frames. missing files commit 159d88603ad22f3c01761b60bacec98d52b9041d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 19:21:00 2016 -0800 three buttons working commit 6764cfc7937a1a81d6993d5e32a21f17457b8e0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:50:22 2016 -0800 missing files commit 11c1fa3812e706a7d34137fe2626f05ab73ee3e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:49:59 2016 -0800 button works! commit 26b6de4c28fc973e332dd51fcd763a6249c0b4c2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:19:47 2016 -0800 Scale9: more fixes. complies with odd Rect::ZERO behavior commit ce561268096afe322f25034eeab3508a60027afd Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 11:50:42 2016 -0800 label: setTitleLabel commit 51b5536cd2af36896002621f75c7310960c3f5e7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 17:41:08 2016 -0700 UIButton kind of working commit 7562a49a761ef70c383a99d2addefc63d77e279f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 11:11:42 2016 -0700 missing resoruces commit a9890dee5da0104bff6872cc04e8786a6c0a9018 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 10:54:55 2016 -0700 setCenterRect to .cpp file commit c9c4bb55ed3fc55709eca46c43d1bfe5301c317f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 00:19:51 2016 -0700 removed unused paramter commit e47732934cca79c08e6fe96e46ebdf075508e568 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 18:19:31 2016 -0700 flipping works! commit c9769bacd321aeddf84e1772dd270f12194d2f04 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 17:57:53 2016 -0700 spirte flip fixes... not finished yet commit 1cbdc8e12cc6d0d2728c06dfabaada001784a178 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 09:53:16 2016 -0700 centerRect changes commit aeb1b14c00331dabba640f52d79ab0e255fa3407 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 09:10:41 2016 -0700 changes from v3 commit e7a61c4a20d786c2bc1d6f57e33bf3ac95cb6f21 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 17:01:15 2016 -0700 sprite: rotated slice 9 works as expected commit 91049389426051deb49a9d951364bf60abaf4532 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 15:39:54 2016 -0700 more bug fixes in scale9sprite support commit 9feb12449078441c439df16dc7bcfb4506c7a226 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 13:22:52 2016 -0700 Android's Patch 9 works as expected commit 1cf46afe3e7f7f5f714d30779caefc25a9bb1b3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 10:18:47 2016 -0700 Sprite: uses capInsets instead of centerRect just to share the same API as Scale9Sprite commit e944fa0248a7eb58012aacb229de1a9b814e0aef Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 18:59:42 2016 -0700 scale9sprite support fixes commit b08765740d480b6ae1491800161b40d88f458767 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 17:38:47 2016 -0700 more scale9sprite fixes commit 388a34d93de5e6007a2cecea959c929f26427cab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 17:20:01 2016 -0700 UI::Scale9Sprite refactoring subclass of Sprite... much cleaner! commit c84ec8ee654f74d4b38be2d0a3d7ffe6adbc6faf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 20:58:36 2016 -0700 supports tiled sprites commit d2b18eb47a647b29319488bd53edac9f304acb84 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 19:21:57 2016 -0700 testing tiled sprite commit b4832ab2facc01cbb624db587ede01fe7acf23e8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 16:53:19 2016 -0700 using correct top-left coordinates for setCenterRect commit 29d8de86a71cc597b2338f59f7951a28ee0c93b2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 16:46:13 2016 -0700 fixes from scale_sprite9 branch commit ccbe1063bea7db75397ecaf9046aac3dd977a621 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 19:01:50 2016 -0700 updated example commit 24f7f85d4eba80f8e543810dcbc1a02447900bdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 18:47:28 2016 -0700 more fixes in nine slice commit df3358fae68f2d81baf3a8cbe033a4c400ea50da Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 18:22:14 2016 -0700 anchor point fixes commit 4ac7409bc72425abb0dc747b956ec346fbd1b2fa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 17:01:48 2016 -0700 support for slice-9 from creator commit a3221375d3a9defc2e03df0b1c2da1b36dfdd491 Merge: 73e5389 d7490d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 14:13:38 2016 -0700 Merge branch 'sprite_scale9' into creator_cpp_support commit d7490d94896ad0ce8705dc0695252cee34329b5e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 13 14:34:52 2016 -0700 Adds slice9 support for Sprite. how to use it: // points coords sprite->setCenterRect(Rect(x,y,w,h)); // normalized coords sprite->setCenterRectNormalized(Rect(x,y,w,h)); starts scale9sprite in sprite more slice 9 changes sprite 9 slice works? kind of works correct anchor point slice 9 works, at least with non-rotated atlases streched works ok better Y invert code. cleaner, compatible with the previous code yay, scaling workings... need a better api now sets scale correctly yay! works as expected! more fixes and tests better test for box setContentSize() changes size in non-9-slice mode sprites as well setCenterRect() -> setCenterRectNormalized() yet another test adds setPositionNormalized() adds setCenterRect() tests remove devel team from xcode tests: add one more tests fun test! improved test yet another test for slice 9 commit 73e5389ef719880096067d0f7d0bffd6e1f3cfd1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Oct 9 18:54:22 2016 -0700 kind of ProgressBar support commit 4db5e9e7369e93ceba1d9512ab88c26b843c43d5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 7 16:23:54 2016 -0700 new generatred ui files commit 75aa06f3d39df8c6aa898d5e6810b3cd8015c07b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 6 10:44:59 2016 -0700 bette canvas support commit 89beacac478fc7f58ef930963b6393f3da4a743c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 21:47:11 2016 -0700 sprites tests commit 5fe930ad50c2c1b6d868982709c7b659176f9889 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 18:35:44 2016 -0700 more label tests commit d3f615a097d080d78f2ebd95f3e2388da45f92db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 18:08:24 2016 -0700 label tests commit 2a4018922ce8d36117f7092fc324e37cf75fdeab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 21:52:56 2016 -0700 label fixes commit 41fafbd023de63e376d014311605f2b156add307 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 19:14:58 2016 -0700 updated test commit 06919fc28fffbc5a20cd14bdcc2ad2ff997e0da1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 18:50:45 2016 -0700 creator tests: works commit 6e362e7cc7f68dc216b569a7f7f90aaa110c0e4a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 27 23:15:56 2016 -0700 autogen: new data commit e78078b2ad84b4e364827a66f1c459de7384a91d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 26 18:18:57 2016 -0700 fix: initial test for CPP support for Creator * adds more documentation * adds more documentation
2016-11-24 09:59:00 +08:00
virtual void setVertexCoords(const Rect& rect, V3F_C4B_T2F_Quad* outQuad);
void populateTriangle(int quadIndex, const V3F_C4B_T2F_Quad& quad);
virtual void updateBlendFunc();
virtual void setReorderChildDirtyRecursively();
virtual void setDirtyRecursively(bool value);
void updatePoly();
void updateStretchFactor();
//
// Data used when the sprite is rendered using a SpriteSheet
//
TextureAtlas* _textureAtlas; /// SpriteBatchNode texture atlas (weak reference)
2013-12-12 12:07:20 +08:00
ssize_t _atlasIndex; /// Absolute (real) Index on the SpriteSheet
SpriteBatchNode* _batchNode; /// Used batch node (weak reference)
2013-11-11 11:00:50 +08:00
bool _dirty; /// Whether the sprite needs to be updated
bool _recursiveDirty; /// Whether all of the sprite's children needs to be updated
bool _shouldBeHidden; /// should not be drawn because one of the ancestors is not visible
Squashed commit of the following: commit a9572b8913f3a38b59adbd7b4017ab9848a6b2b5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 14 10:03:44 2014 -0700 math renames `Vector2` -> `Vec2` `Vector3` -> `Vec3` `Vector4` -> `Vec4` `Matrix` -> `Mat4` commit 4e107f4bd854c26bfceb52b063d6bd9cea02d6a3 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:24:28 2014 -0700 raw version of rename Vector3 commit 1d115573ebe96a5fc815fa44fbe6417ea7dba841 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:07:14 2014 -0700 rename Vector2 after merge commit ab2ed58c129dbc30a4c0970ed94568c5d271657b Merge: 1978d2d 86fb75a Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:05:30 2014 -0700 Merge branch 'v3' into v3_renameMathClassName Conflicts: tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIButtonTest/UIButtonTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UICheckBoxTest/UICheckBoxTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISliderTest/UISliderTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest_Editor.cpp commit 1978d2d174877172ccddc083020a1bbf43ad3b39 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 08:51:45 2014 -0700 rename vector2 in tests/cpp-empty-test folder commit d4e0ff13dcce62724d2fece656543f26aa28e467 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:58:23 2014 -0700 rename vector2 in tests/cpp-tests cpp files commit be50ca2ec75e0fd32a6fcdaa15fe1ebb4cafe79f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:52:57 2014 -0700 rename vector2 in tests/cpp-tests head files commit 6daef564400d4e28c4ce20859a68e0f583fed125 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:49:48 2014 -0700 rename vector2 in extension folder commit 8f3f0f65ceea92c9e7a0d87ab54e62220c5572e2 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:47:22 2014 -0700 rename vector2 in cocos/2d cpp files commit e1f3105aae06d595661a3030f519f7cc13aefbed Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:44:39 2014 -0700 rename vector2 in cocos/2d head files commit 6708d890bfe486109120c3cd4b9fe5c078b7108f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:59 2014 -0700 rename vector2 in cocos/base folder commit d3978fa5447c31ea2f3ece5469b7e746dfba4248 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:43 2014 -0700 rename vector2 in cocos/deprecated folder commit 4bff45139363d6b9706edbbcf9f322d48b4fd019 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:26 2014 -0700 rename vector2 in cocos/editor-support folder commit 353d244c995f8b5d14f635c52aed8bc5e5fc1a6f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:36:48 2014 -0700 rename vector2 in cocos/ui folder commit 758b8f4d513084b9922d7242e9b8f2c7f316de6c Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:39 2014 -0700 rename vector2 in cocos/renderer folder commit 0bd2710dd8714cecb993880bc37affd9ecb05c27 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:15 2014 -0700 rename vector2 in cocos/physics folder commit b7f0581c4587348bdbc1478d5374c2325735f21d Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:25:01 2014 -0700 rename vector2 in cocos/math folder commit a8631a8e1a4e2740807ccd9be9d70de6ecaad7dd Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:16:55 2014 -0700 rename Vector2 to Vec2 deprecate typedef Vector2
2014-05-15 01:07:09 +08:00
Mat4 _transformToBatch;
2013-11-11 11:00:50 +08:00
//
// Data used when the sprite is self-rendered
//
BlendFunc _blendFunc; /// It's required for TextureProtocol inheritance
Texture2D* _texture; /// Texture2D object that is used to render the sprite
SpriteFrame* _spriteFrame;
2015-05-22 15:54:56 +08:00
TrianglesCommand _trianglesCommand; ///
2015-08-26 18:14:25 +08:00
#if CC_SPRITE_DEBUG_DRAW
DrawNode *_debugDrawNode;
#endif //CC_SPRITE_DEBUG_DRAW
//
// Shared data
//
// texture
Rect _rect; /// Rectangle of Texture2D
bool _rectRotated; /// Whether the texture is rotated
Rect _centerRectNormalized; /// Rectangle to implement "slice 9"
int _numberOfSlices; /// how many sprite slices: 1 or 9
Vec2 _strechFactor; /// strech factor to match the contentSize. for 1- and 9- slice sprites
Size _originalContentSize; /// original content size
// Offset Position (used by Zwoptex)
Squashed commit of the following: commit a9572b8913f3a38b59adbd7b4017ab9848a6b2b5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 14 10:03:44 2014 -0700 math renames `Vector2` -> `Vec2` `Vector3` -> `Vec3` `Vector4` -> `Vec4` `Matrix` -> `Mat4` commit 4e107f4bd854c26bfceb52b063d6bd9cea02d6a3 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:24:28 2014 -0700 raw version of rename Vector3 commit 1d115573ebe96a5fc815fa44fbe6417ea7dba841 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:07:14 2014 -0700 rename Vector2 after merge commit ab2ed58c129dbc30a4c0970ed94568c5d271657b Merge: 1978d2d 86fb75a Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:05:30 2014 -0700 Merge branch 'v3' into v3_renameMathClassName Conflicts: tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIButtonTest/UIButtonTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UICheckBoxTest/UICheckBoxTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISliderTest/UISliderTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest_Editor.cpp commit 1978d2d174877172ccddc083020a1bbf43ad3b39 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 08:51:45 2014 -0700 rename vector2 in tests/cpp-empty-test folder commit d4e0ff13dcce62724d2fece656543f26aa28e467 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:58:23 2014 -0700 rename vector2 in tests/cpp-tests cpp files commit be50ca2ec75e0fd32a6fcdaa15fe1ebb4cafe79f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:52:57 2014 -0700 rename vector2 in tests/cpp-tests head files commit 6daef564400d4e28c4ce20859a68e0f583fed125 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:49:48 2014 -0700 rename vector2 in extension folder commit 8f3f0f65ceea92c9e7a0d87ab54e62220c5572e2 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:47:22 2014 -0700 rename vector2 in cocos/2d cpp files commit e1f3105aae06d595661a3030f519f7cc13aefbed Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:44:39 2014 -0700 rename vector2 in cocos/2d head files commit 6708d890bfe486109120c3cd4b9fe5c078b7108f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:59 2014 -0700 rename vector2 in cocos/base folder commit d3978fa5447c31ea2f3ece5469b7e746dfba4248 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:43 2014 -0700 rename vector2 in cocos/deprecated folder commit 4bff45139363d6b9706edbbcf9f322d48b4fd019 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:26 2014 -0700 rename vector2 in cocos/editor-support folder commit 353d244c995f8b5d14f635c52aed8bc5e5fc1a6f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:36:48 2014 -0700 rename vector2 in cocos/ui folder commit 758b8f4d513084b9922d7242e9b8f2c7f316de6c Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:39 2014 -0700 rename vector2 in cocos/renderer folder commit 0bd2710dd8714cecb993880bc37affd9ecb05c27 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:15 2014 -0700 rename vector2 in cocos/physics folder commit b7f0581c4587348bdbc1478d5374c2325735f21d Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:25:01 2014 -0700 rename vector2 in cocos/math folder commit a8631a8e1a4e2740807ccd9be9d70de6ecaad7dd Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:16:55 2014 -0700 rename Vector2 to Vec2 deprecate typedef Vector2
2014-05-15 01:07:09 +08:00
Vec2 _offsetPosition;
Vec2 _unflippedOffsetPositionFromCenter;
// vertex coords, texture coords and color info
V3F_C4B_T2F_Quad _quad;
V3F_C4B_T2F* _trianglesVertex;
unsigned short* _trianglesIndex;
2015-06-04 16:20:00 +08:00
PolygonInfo _polyInfo;
// opacity and RGB protocol
bool _opacityModifyRGB;
// image is flipped
2013-11-14 07:55:36 +08:00
bool _flippedX; /// Whether the sprite is flipped horizontally or not
bool _flippedY; /// Whether the sprite is flipped vertically or not
bool _insideBounds; /// whether or not the sprite was inside bounds the previous frame
std::string _fileName;
int _fileType;
Scale9Sprite refactor (#16891) * Squashed commit of the following: commit 026eee59c9ece7fc59d71fead41104f375f72eb5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 22 21:45:12 2016 -0800 yay! everything works! commit a645c99d44f0d7674e6238afae7628d8d2a030b1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 22 14:55:31 2016 -0800 more fixes in Scale9Sprite commit 3a688f4ea70c0abe311232c65ed14a7e9acc7611 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 23:06:45 2016 -0800 rotated sprites commit 45e2085df3aa4b52236c817f7db7c1f6602c1e95 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 17:10:44 2016 -0800 android patch 9: fixes is not 100% backward compatible since the previous version had some artifacts. fixed the artifacts. now it renders ok commit 4655d894387fa40a7e63b074a36bfed20e41d5f9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 21 16:31:29 2016 -0800 sprite: correct size for "fake scale9" commit cb98aba27cc1c82a986268d5b74afb55b6cca2f3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 21:55:51 2016 -0800 sprite: adds setStrechEnabled for backward compatibility and other fixes commit c0fe67aac54cd62e3846810d56f87133f3a7343b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 18:49:42 2016 -0800 implemts missing functions in scale9sprite commit e471ef318725ccabc9eca2c062e285e9ca4f9a81 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Nov 18 18:42:30 2016 -0800 "batched" works commit 33124bfb14d1f275d4b0ffca8989975625a8a76d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 18:59:38 2016 -0800 more fixes commit 149f8206269843af63a1739885c00ed8d94c239c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 18:37:12 2016 -0800 scale 9 rotated not fixed yet. but making progress commit 27f98275d94ce00c8d5ff0b6f74b5c22723cc3c3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 15:32:57 2016 -0800 sprite: streching works ok with normal sprites commit 2519498cac8b77a32dee5bdf1805be56fbda5ed6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 16 12:12:28 2016 -0800 somes fixes... still not working commit 43580d0b4aa976b0200717611a286bf1035c472d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 15 23:15:22 2016 -0800 more bug fixes related to untrimmed setCenterRect... ...in SCale9Sprite commit 407247616e506afaa0415c58ad7fce38efed0cd9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 15 22:13:38 2016 -0800 spritecale9: untrimmed vs. trimmed capInsets WIP. there still a few bugs commit 3d845b2af3500be287fabb04bb6ba0ec04dbb401 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 14 23:11:17 2016 -0800 started progressbar commit 0a44b00daf723869b7105689890f29cd53a62608 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 14 17:43:23 2016 -0800 adds EditBox test commit 330304bd9b2e762de95c2f27f1ae3ceee83b2fbf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 16:57:08 2016 -0800 adds elastic to scroll view commit a06a35f8691ff56a143953c44acd947b519150b6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 15:58:29 2016 -0800 yay! scrollview works commit 37748a885c62eca8c00d2c9c11ee103f1d95e71c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 15:33:58 2016 -0800 yet more scrollview fixes commit a6e563b497adef7b141ac7c92c844d479b244c59 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 9 14:48:28 2016 -0800 initial scroll view commit 4243edd7548e5533ca03c26d5042f8dc5517445a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Nov 8 17:50:15 2016 -0800 sanity check in frames. missing files commit 159d88603ad22f3c01761b60bacec98d52b9041d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 19:21:00 2016 -0800 three buttons working commit 6764cfc7937a1a81d6993d5e32a21f17457b8e0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:50:22 2016 -0800 missing files commit 11c1fa3812e706a7d34137fe2626f05ab73ee3e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:49:59 2016 -0800 button works! commit 26b6de4c28fc973e332dd51fcd763a6249c0b4c2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 18:19:47 2016 -0800 Scale9: more fixes. complies with odd Rect::ZERO behavior commit ce561268096afe322f25034eeab3508a60027afd Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Nov 7 11:50:42 2016 -0800 label: setTitleLabel commit 51b5536cd2af36896002621f75c7310960c3f5e7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 17:41:08 2016 -0700 UIButton kind of working commit 7562a49a761ef70c383a99d2addefc63d77e279f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 11:11:42 2016 -0700 missing resoruces commit a9890dee5da0104bff6872cc04e8786a6c0a9018 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 10:54:55 2016 -0700 setCenterRect to .cpp file commit c9c4bb55ed3fc55709eca46c43d1bfe5301c317f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Nov 2 00:19:51 2016 -0700 removed unused paramter commit e47732934cca79c08e6fe96e46ebdf075508e568 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 18:19:31 2016 -0700 flipping works! commit c9769bacd321aeddf84e1772dd270f12194d2f04 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 17:57:53 2016 -0700 spirte flip fixes... not finished yet commit 1cbdc8e12cc6d0d2728c06dfabaada001784a178 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 09:53:16 2016 -0700 centerRect changes commit aeb1b14c00331dabba640f52d79ab0e255fa3407 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 28 09:10:41 2016 -0700 changes from v3 commit e7a61c4a20d786c2bc1d6f57e33bf3ac95cb6f21 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 17:01:15 2016 -0700 sprite: rotated slice 9 works as expected commit 91049389426051deb49a9d951364bf60abaf4532 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 15:39:54 2016 -0700 more bug fixes in scale9sprite support commit 9feb12449078441c439df16dc7bcfb4506c7a226 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 13:22:52 2016 -0700 Android's Patch 9 works as expected commit 1cf46afe3e7f7f5f714d30779caefc25a9bb1b3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 26 10:18:47 2016 -0700 Sprite: uses capInsets instead of centerRect just to share the same API as Scale9Sprite commit e944fa0248a7eb58012aacb229de1a9b814e0aef Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 18:59:42 2016 -0700 scale9sprite support fixes commit b08765740d480b6ae1491800161b40d88f458767 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 17:38:47 2016 -0700 more scale9sprite fixes commit 388a34d93de5e6007a2cecea959c929f26427cab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 25 17:20:01 2016 -0700 UI::Scale9Sprite refactoring subclass of Sprite... much cleaner! commit c84ec8ee654f74d4b38be2d0a3d7ffe6adbc6faf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 20:58:36 2016 -0700 supports tiled sprites commit d2b18eb47a647b29319488bd53edac9f304acb84 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 19:21:57 2016 -0700 testing tiled sprite commit b4832ab2facc01cbb624db587ede01fe7acf23e8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 16:53:19 2016 -0700 using correct top-left coordinates for setCenterRect commit 29d8de86a71cc597b2338f59f7951a28ee0c93b2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Oct 24 16:46:13 2016 -0700 fixes from scale_sprite9 branch commit ccbe1063bea7db75397ecaf9046aac3dd977a621 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 19:01:50 2016 -0700 updated example commit 24f7f85d4eba80f8e543810dcbc1a02447900bdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 18:47:28 2016 -0700 more fixes in nine slice commit df3358fae68f2d81baf3a8cbe033a4c400ea50da Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 18:22:14 2016 -0700 anchor point fixes commit 4ac7409bc72425abb0dc747b956ec346fbd1b2fa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 17:01:48 2016 -0700 support for slice-9 from creator commit a3221375d3a9defc2e03df0b1c2da1b36dfdd491 Merge: 73e5389 d7490d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 20 14:13:38 2016 -0700 Merge branch 'sprite_scale9' into creator_cpp_support commit d7490d94896ad0ce8705dc0695252cee34329b5e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 13 14:34:52 2016 -0700 Adds slice9 support for Sprite. how to use it: // points coords sprite->setCenterRect(Rect(x,y,w,h)); // normalized coords sprite->setCenterRectNormalized(Rect(x,y,w,h)); starts scale9sprite in sprite more slice 9 changes sprite 9 slice works? kind of works correct anchor point slice 9 works, at least with non-rotated atlases streched works ok better Y invert code. cleaner, compatible with the previous code yay, scaling workings... need a better api now sets scale correctly yay! works as expected! more fixes and tests better test for box setContentSize() changes size in non-9-slice mode sprites as well setCenterRect() -> setCenterRectNormalized() yet another test adds setPositionNormalized() adds setCenterRect() tests remove devel team from xcode tests: add one more tests fun test! improved test yet another test for slice 9 commit 73e5389ef719880096067d0f7d0bffd6e1f3cfd1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Oct 9 18:54:22 2016 -0700 kind of ProgressBar support commit 4db5e9e7369e93ceba1d9512ab88c26b843c43d5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Oct 7 16:23:54 2016 -0700 new generatred ui files commit 75aa06f3d39df8c6aa898d5e6810b3cd8015c07b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Oct 6 10:44:59 2016 -0700 bette canvas support commit 89beacac478fc7f58ef930963b6393f3da4a743c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 21:47:11 2016 -0700 sprites tests commit 5fe930ad50c2c1b6d868982709c7b659176f9889 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 18:35:44 2016 -0700 more label tests commit d3f615a097d080d78f2ebd95f3e2388da45f92db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Oct 5 18:08:24 2016 -0700 label tests commit 2a4018922ce8d36117f7092fc324e37cf75fdeab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 21:52:56 2016 -0700 label fixes commit 41fafbd023de63e376d014311605f2b156add307 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 19:14:58 2016 -0700 updated test commit 06919fc28fffbc5a20cd14bdcc2ad2ff997e0da1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Oct 4 18:50:45 2016 -0700 creator tests: works commit 6e362e7cc7f68dc216b569a7f7f90aaa110c0e4a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 27 23:15:56 2016 -0700 autogen: new data commit e78078b2ad84b4e364827a66f1c459de7384a91d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 26 18:18:57 2016 -0700 fix: initial test for CPP support for Creator * adds more documentation * adds more documentation
2016-11-24 09:59:00 +08:00
bool _strechEnabled;
2013-11-14 07:55:36 +08:00
private:
CC_DISALLOW_COPY_AND_ASSIGN(Sprite);
};
2012-06-20 18:09:11 +08:00
// end of sprite_nodes group
/// @}
NS_CC_END
2013-11-11 11:00:50 +08:00
#endif // __SPRITE_NODE_CCSPRITE_H__