• R/O
  • SSH
  • HTTPS

qrobosdk: コミット


コミットメタ情報

リビジョン1820 (tree)
日時2010-05-11 07:05:09
作者satofumi

ログメッセージ

added TextRubiFadeSurface.cpp

変更サマリ

差分

--- trunk/libs/lua/luabindGui.cpp (revision 1819)
+++ trunk/libs/lua/luabindGui.cpp (revision 1820)
@@ -105,8 +105,8 @@
105105 .def(constructor<const char*, size_t, bool>())
106106 .def("duplicate", &Font::duplicate)
107107 .def("isValid", &Font::isValid)
108- .def("setFontSize", &Font::setFontSize)
109- .def("fontSize", &Font::fontSize)
108+ .def("setPixelSize", &Font::setPixelSize)
109+ .def("pixelSize", &Font::pixelSize)
110110 .def("setForegroundColor", &Font::setForegroundColor)
111111 .def("foregroundColor", &Font::foregroundColor)
112112 .def("setBackgroundColor", &Font::setBackgroundColor)
--- trunk/libs/gui/TextRubiFadeSurface.cpp (nonexistent)
+++ trunk/libs/gui/TextRubiFadeSurface.cpp (revision 1820)
@@ -0,0 +1,98 @@
1+/*!
2+ \file
3+ \brief ルビ付きの部分透過できる文字列サーフェス
4+
5+ \author Satofumi KAMIMURA
6+
7+ $Id$
8+*/
9+
10+#include "TextRubiFadeSurface.h"
11+#include "TextSurface.h"
12+#include "Font.h"
13+
14+using namespace qrk;
15+
16+
17+struct TextRubiFadeSurface::pImpl
18+{
19+ Rect<long> rect_;
20+
21+
22+ pImpl(const Font& font,
23+ const char* text, const char* kana_only, const Font& rubi_font)
24+ {
25+ (void)font;
26+ (void)text;
27+ (void)kana_only;
28+ (void)rubi_font;
29+
30+ // !!!
31+
32+ // !!! rect_ の初期化
33+ }
34+};
35+
36+
37+TextRubiFadeSurface::TextRubiFadeSurface(const Font& font, const char* text,
38+ const char* kana_only,
39+ const Font& rubi_font)
40+ : pimpl(new pImpl(font, text, kana_only, rubi_font))
41+{
42+}
43+
44+
45+TextRubiFadeSurface::~TextRubiFadeSurface(void)
46+{
47+}
48+
49+
50+bool TextRubiFadeSurface::isValid(void) const
51+{
52+ // !!! フォントがなければ、false になるはず
53+ // !!! 最初の surfaces_ の状態で判断してもよい
54+ return true;
55+}
56+
57+
58+Rect<long> TextRubiFadeSurface::rect(void) const
59+{
60+ return pimpl->rect_;
61+}
62+
63+
64+void TextRubiFadeSurface::setAlpha(float alpha)
65+{
66+ (void)alpha;
67+ // !!!
68+}
69+
70+
71+float TextRubiFadeSurface::alpha(void) const
72+{
73+ //pimpl->alpha_;
74+ // !!!
75+ return 1.0;
76+}
77+
78+
79+void TextRubiFadeSurface::setRotateAngle(const Angle& angle)
80+{
81+ (void)angle;
82+ // !!!
83+}
84+
85+
86+void TextRubiFadeSurface::draw(const Rect<long>* src, const Rect<long>* dest)
87+{
88+ (void)src;
89+ (void)dest;
90+ // !!!
91+}
92+
93+
94+void TextRubiFadeSurface::setFadePercent(size_t percent)
95+{
96+ (void)percent;
97+ // !!!
98+}
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
--- trunk/libs/gui/Font.cpp (revision 1819)
+++ trunk/libs/gui/Font.cpp (revision 1820)
@@ -196,13 +196,13 @@
196196 }
197197
198198
199-void Font::setFontSize(size_t font_size)
199+void Font::setPixelSize(size_t font_size)
200200 {
201201 pimpl->font_size_ = font_size;
202202 }
203203
204204
205-size_t Font::fontSize(void) const
205+size_t Font::pixelSize(void) const
206206 {
207207 return pimpl->font_size_;
208208 }
--- trunk/libs/gui/Makefile (revision 1819)
+++ trunk/libs/gui/Makefile (revision 1820)
@@ -34,6 +34,7 @@
3434 $(GUI_LIB)(SDL_GL_Texture.o) \
3535 $(GUI_LIB)(TextSurface.o) \
3636 $(GUI_LIB)(TextFadeSurface.o) \
37+ $(GUI_LIB)(TextRubiFadeSurface.o) \
3738 $(GUI_LIB)(ColorSurface.o) \
3839 $(GUI_LIB)(FillSurface.o) \
3940 $(GUI_LIB)(SwitchSurface.o) \
@@ -71,6 +72,7 @@
7172 SwitchSurface.o: Surface.h ../geometry/Rect.h
7273 TextFadeSurface.o: Surface.h ../geometry/Rect.h
7374 TextInput.o: Event.h ../geometry/Point.h
75+TextRubiFadeSurface.o: Surface.h ../geometry/Rect.h
7476 TextSurface.o: Surface.h ../geometry/Rect.h
7577 AlignUtils.o: AlignUtils.h Component.h ../geometry/Rect.h ../geometry/Point.h
7678 AlignUtils.o: Surface.h
@@ -117,5 +119,7 @@
117119 TextFadeSurface.o: TextSurface.h ../input/Utf8.h
118120 TextInput.o: TextInput.h Event.h ../geometry/Point.h LayerManager.h
119121 TextInput.o: LayerInterface.h CallbackEvent.h ../geometry/Rect.h
122+TextRubiFadeSurface.o: TextRubiFadeSurface.h Surface.h ../geometry/Rect.h
123+TextRubiFadeSurface.o: TextSurface.h Font.h ../common/Color.h
120124 TextSurface.o: TextSurface.h Surface.h ../geometry/Rect.h Font.h
121125 TextSurface.o: ../common/Color.h SDL_GL_Texture.h
--- trunk/libs/gui/TextRubiFadeSurface.h (nonexistent)
+++ trunk/libs/gui/TextRubiFadeSurface.h (revision 1820)
@@ -0,0 +1,51 @@
1+#ifndef QRK_TEXT_RUBI_FADE_SURFACE_H
2+#define QRK_TEXT_RUBI_FADE_SURFACE_H
3+
4+/*!
5+ \file
6+ \brief ルビ付きの部分透過できる文字列サーフェス
7+
8+ \author Satofumi KAMIMURA
9+
10+ $Id$
11+*/
12+
13+#include "Surface.h"
14+#include <memory>
15+
16+
17+namespace qrk
18+{
19+ class Font;
20+
21+
22+ //! ルビ付きの部分透過できる文字列サーフェス
23+ class TextRubiFadeSurface : public Surface
24+ {
25+ public:
26+ explicit TextRubiFadeSurface(const Font& font, const char* text,
27+ const char* kana_only,
28+ const Font& rubi_font);
29+ ~TextRubiFadeSurface(void);
30+
31+ bool isValid(void) const;
32+ Rect<long> rect(void) const;
33+ void setAlpha(float alpha);
34+ float alpha(void) const;
35+ void setRotateAngle(const Angle& angle);
36+ void draw(const Rect<long>* src, const Rect<long>* dest);
37+
38+ // !!! フェードのモードを指定するメソッド
39+ void setFadePercent(size_t percent);
40+
41+ private:
42+ TextRubiFadeSurface(void);
43+ TextRubiFadeSurface(const TextRubiFadeSurface& rhs);
44+ TextRubiFadeSurface& operator = (const TextRubiFadeSurface& rhs);
45+
46+ struct pImpl;
47+ std::auto_ptr<pImpl> pimpl;
48+ };
49+}
50+
51+#endif /* !QRK_TEXT_RUBI_FADE_SURFACE_H */
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
--- trunk/libs/gui/Font.h (revision 1819)
+++ trunk/libs/gui/Font.h (revision 1820)
@@ -43,8 +43,8 @@
4343
4444 TTF_Font* resource(void) const;
4545
46- void setFontSize(size_t font_size);
47- size_t fontSize(void) const;
46+ void setPixelSize(size_t font_size);
47+ size_t pixelSize(void) const;
4848
4949 void setForegroundColor(const Color& color);
5050 Color foregroundColor(void) const;
--- trunk/libs/input/TestRubiParse.cpp (revision 1819)
+++ trunk/libs/input/TestRubiParse.cpp (revision 1820)
@@ -68,4 +68,16 @@
6868 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), rubi[1].kanji_size);
6969 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), rubi[1].rubi_first);
7070 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), rubi[1].rubi_size);
71+
72+ rubi.clear();
73+ parse_rubi(rubi, "あふ坂の関", "あふさかのせき");
74+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), rubi.size());
75+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), rubi[0].kanji_first);
76+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), rubi[0].kanji_size);
77+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), rubi[0].rubi_first);
78+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), rubi[0].rubi_size);
79+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(4), rubi[1].kanji_first);
80+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), rubi[1].kanji_size);
81+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(5), rubi[1].rubi_first);
82+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), rubi[1].rubi_size);
7183 }
旧リポジトリブラウザで表示