Shape 8hpp source


SFML - Simple and Fast Multimedia Library Main Page Namespaces Classes Files File List Shape.hpp00001 00002 // 00003 // SFML - Simple and Fast Multimedia Library 00004 // Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) 00005 // 00006 // This software is provided 'as-is', without any express or implied warranty. 00007 // In no event will the authors be held liable for any damages arising from the use of this software. 00008 // 00009 // Permission is granted to anyone to use this software for any purpose, 00010 // including commercial applications, and to alter it and redistribute it freely, 00011 // subject to the following restrictions: 00012 // 00013 // 1. The origin of this software must not be misrepresented; 00014 // you must not claim that you wrote the original software. 00015 // If you use this software in a product, an acknowledgment 00016 // in the product documentation would be appreciated but is not required. 00017 // 00018 // 2. Altered source versions must be plainly marked as such, 00019 // and must not be misrepresented as being the original software. 00020 // 00021 // 3. This notice may not be removed or altered from any source distribution. 00022 // 00024 00025 #ifndef SFML_SHAPE_HPP 00026 #define SFML_SHAPE_HPP 00027 00029 // Headers 00031 #include <SFML/Graphics/Drawable.hpp> 00032 #include <SFML/System/Vector2.hpp> 00033 #include <vector> 00034 00035 00036 namespace sf 00037 { 00043 class SFML_API Shape : public sf::Drawable 00044 { 00045 public : 00046 00051 Shape(); 00052 00061 void AddPoint(float X, float Y, const Color& Col = Color(255, 255, 255), const Color& OutlineCol = Color(0, 0, 0)); 00062 00071 void AddPoint(const Vector2f& Position, const Color& Col = Color(255, 255, 255), const Color& OutlineCol = Color(0, 0, 0)); 00072 00079 unsigned int GetNbPoints() const; 00080 00088 void EnableFill(bool Enable); 00089 00097 void EnableOutline(bool Enable); 00098 00106 void SetPointPosition(unsigned int Index, const Vector2f& Position); 00107 00116 void SetPointPosition(unsigned int Index, float X, float Y); 00117 00125 void SetPointColor(unsigned int Index, const Color& Col); 00126 00134 void SetPointOutlineColor(unsigned int Index, const Color& OutlineCol); 00135 00142 void SetOutlineWidth(float Width); 00143 00152 const Vector2f& GetPointPosition(unsigned int Index) const; 00153 00162 const Color& GetPointColor(unsigned int Index) const; 00163 00172 const Color& GetPointOutlineColor(unsigned int Index) const; 00173 00180 float GetOutlineWidth() const; 00181 00193 static Shape Line(float P1X, float P1Y, float P2X, float P2Y, float Thickness, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); 00194 00206 static Shape Line(const Vector2f& P1, const Vector2f& P2, float Thickness, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); 00207 00218 static Shape Rectangle(float P1X, float P1Y, float P2X, float P2Y, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); 00219 00230 static Shape Rectangle(const Vector2f& P1, const Vector2f& P2, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); 00231 00242 static Shape Circle(float X, float Y, float Radius, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); 00243 00254 static Shape Circle(const Vector2f& Center, float Radius, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); 00255 00256 protected : 00257 00262 virtual void Render(RenderTarget& Target) const; 00263 00264 private : 00265 00270 void Compile(); 00271 00282 static bool ComputeNormal(const Vector2f& P1, const Vector2f& P2, Vector2f& Normal); 00283 00287 struct Point 00288 { 00289 Point(const Vector2f& Pos = Vector2f(0, 0), const Color& C = Color(255, 255, 255), const Color& OutlineC = Color(255, 255, 255)); 00290 00291 Vector2f Position; 00292 Vector2f Normal; 00293 Color Col; 00294 Color OutlineCol; 00295 }; 00296 00298 // Member data 00300 std::vector<Point> myPoints; 00301 float myOutline; 00302 bool myIsFillEnabled; 00303 bool myIsOutlineEnabled; 00304 bool myIsCompiled; 00305 }; 00306 00307 } // namespace sf 00308 00309 00310 #endif // SFML_SHAPE_HPP  ::  Copyright © 2007-2008 Laurent Gomila, all rights reserved  ::  Documentation generated by doxygen 1.5.2  :: 

Wyszukiwarka

Podobne podstrony:
Arial 8hpp source
Sleep 8hpp source
Win32 2Thread 8hpp source
Mutex 8hpp source
FontLoader 8hpp source
Color 8hpp source
IPAddress 8hpp source
SoundFileDefault 8hpp source
Network 8hpp source
SoundStream 8hpp source
Selector 8hpp source
VideoModeSupport 8hpp source
Matrix3 8hpp source
Randomizer 8hpp source
Context 8hpp source
Unicode 8hpp source
ImageLoader 8hpp source
WindowImplWin32 8hpp source
SocketUDP 8hpp source

więcej podobnych podstron