CCLabelTTFLoader.cpp 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #include "editor-support/cocosbuilder/CCLabelTTFLoader.h"
  2. using namespace cocos2d;
  3. #define PROPERTY_COLOR "color"
  4. #define PROPERTY_OPACITY "opacity"
  5. #define PROPERTY_BLENDFUNC "blendFunc"
  6. #define PROPERTY_FONTNAME "fontName"
  7. #define PROPERTY_FONTSIZE "fontSize"
  8. #define PROPERTY_HORIZONTALALIGNMENT "horizontalAlignment"
  9. #define PROPERTY_VERTICALALIGNMENT "verticalAlignment"
  10. #define PROPERTY_STRING "string"
  11. #define PROPERTY_DIMENSIONS "dimensions"
  12. namespace cocosbuilder {
  13. void LabelTTFLoader::onHandlePropTypeColor3(Node * pNode, Node * pParent, const char * pPropertyName, Color3B pColor3B, CCBReader * ccbReader) {
  14. if(strcmp(pPropertyName, PROPERTY_COLOR) == 0) {
  15. ((Label *)pNode)->setColor(pColor3B);
  16. } else {
  17. NodeLoader::onHandlePropTypeColor3(pNode, pParent, pPropertyName, pColor3B, ccbReader);
  18. }
  19. }
  20. void LabelTTFLoader::onHandlePropTypeByte(Node * pNode, Node * pParent, const char * pPropertyName, unsigned char pByte, CCBReader * ccbReader) {
  21. if(strcmp(pPropertyName, PROPERTY_OPACITY) == 0) {
  22. ((Label *)pNode)->setOpacity(pByte);
  23. } else {
  24. NodeLoader::onHandlePropTypeByte(pNode, pParent, pPropertyName, pByte, ccbReader);
  25. }
  26. }
  27. void LabelTTFLoader::onHandlePropTypeBlendFunc(Node * pNode, Node * pParent, const char * pPropertyName, BlendFunc pBlendFunc, CCBReader * ccbReader) {
  28. if(strcmp(pPropertyName, PROPERTY_BLENDFUNC) == 0) {
  29. ((Label *)pNode)->setBlendFunc(pBlendFunc);
  30. } else {
  31. NodeLoader::onHandlePropTypeBlendFunc(pNode, pParent, pPropertyName, pBlendFunc, ccbReader);
  32. }
  33. }
  34. void LabelTTFLoader::onHandlePropTypeFontTTF(Node * pNode, Node * pParent, const char * pPropertyName, const char * pFontTTF, CCBReader * ccbReader) {
  35. if(strcmp(pPropertyName, PROPERTY_FONTNAME) == 0) {
  36. ((Label *)pNode)->setSystemFontName(pFontTTF);
  37. } else {
  38. NodeLoader::onHandlePropTypeFontTTF(pNode, pParent, pPropertyName, pFontTTF, ccbReader);
  39. }
  40. }
  41. void LabelTTFLoader::onHandlePropTypeText(Node * pNode, Node * pParent, const char * pPropertyName, const char * pText, CCBReader * ccbReader) {
  42. if(strcmp(pPropertyName, PROPERTY_STRING) == 0) {
  43. ((Label *)pNode)->setString(pText);
  44. } else {
  45. NodeLoader::onHandlePropTypeText(pNode, pParent, pPropertyName, pText, ccbReader);
  46. }
  47. }
  48. void LabelTTFLoader::onHandlePropTypeFloatScale(Node * pNode, Node * pParent, const char * pPropertyName, float pFloatScale, CCBReader * ccbReader) {
  49. if(strcmp(pPropertyName, PROPERTY_FONTSIZE) == 0) {
  50. ((Label *)pNode)->setSystemFontSize(pFloatScale);
  51. } else {
  52. NodeLoader::onHandlePropTypeFloatScale(pNode, pParent, pPropertyName, pFloatScale, ccbReader);
  53. }
  54. }
  55. void LabelTTFLoader::onHandlePropTypeIntegerLabeled(Node * pNode, Node * pParent, const char * pPropertyName, int pIntegerLabeled, CCBReader * ccbReader) {
  56. if(strcmp(pPropertyName, PROPERTY_HORIZONTALALIGNMENT) == 0) {
  57. ((Label *)pNode)->setHorizontalAlignment(TextHAlignment(pIntegerLabeled));
  58. } else if(strcmp(pPropertyName, PROPERTY_VERTICALALIGNMENT) == 0) {
  59. ((Label *)pNode)->setVerticalAlignment(TextVAlignment(pIntegerLabeled));
  60. } else {
  61. NodeLoader::onHandlePropTypeFloatScale(pNode, pParent, pPropertyName, pIntegerLabeled, ccbReader);
  62. }
  63. }
  64. void LabelTTFLoader::onHandlePropTypeSize(Node * pNode, Node * pParent, const char * pPropertyName, Size size, CCBReader * ccbReader) {
  65. if(strcmp(pPropertyName, PROPERTY_DIMENSIONS) == 0) {
  66. ((Label *)pNode)->setDimensions(size.width,size.height);
  67. } else {
  68. NodeLoader::onHandlePropTypeSize(pNode, pParent, pPropertyName, size, ccbReader);
  69. }
  70. }
  71. }