void GRSingleRest::setRestFormat( ARRestFormat * restfrmt ) { traceMethod("setRestFormat"); if (restfrmt != 0) { // - Get the color if (restfrmt->getColor()) { if (mColRef == 0 ) mColRef = new unsigned char [4]; if (restfrmt->getColor()->getRGB( mColRef ) == false ) { delete [] mColRef; mColRef = 0; } } // - Get the offsets and size const TagParameterFloat * tpf1 = restfrmt->getDX(); if (tpf1) mOffset.x = tpf1->getValue(); const TagParameterFloat * tpf2 = restfrmt->getDY(); if (tpf2) mOffset.y = tpf2->getValue(); const TagParameterFloat * tpf = restfrmt->getSize(); mSize = tpf ? tpf->getValue() : float(1.0); } NVPoint dotPos; switch (mType) { case P1: dotPos.Set( 0, 1.8f * mCurLSPACE ); break; case P32: case P64: case P128: dotPos.Set( 0, 1 * mCurLSPACE); break; default: dotPos.Set( 0, 2 * mCurLSPACE); } createDots( getDuration(), 0, dotPos ); }
int main() { //устанавливаем уровень сглаживания sf::ContextSettings settings; settings.antialiasingLevel = 8; //создаем окно приложения sf::RenderWindow window(sf::VideoMode(screenWidth, screenHeight), "My Analog Clock", sf::Style::Close, settings); float windowX = float(window.getSize().x); float windowY = float(window.getSize().y); //Определяем центр окна sf::Vector2f windowCenter = sf::Vector2f(windowX / 2.0f, windowY / 2.0f); //создаем точки sf::CircleShape dot[60]; createDots(dot,windowCenter); //создаем внешний контур sf::CircleShape clockCircle(clockCircleSize); //настраиваем внешний контур setCircle(&clockCircle,100, clockCircleThickness, sf::Color::Black,0, windowX / 2 + clockCircleThickness, windowY / 2 + clockCircleThickness); //создаем центральный круг sf::CircleShape centerCircle(10); //настраиваем центральный круг setCircle(¢erCircle, 100, 1, sf::Color::Yellow,1, windowX / 2, windowY / 2); //создаем стрелки sf::RectangleShape hourHand(sf::Vector2f(5, 150)); sf::RectangleShape minuteHand(sf::Vector2f(3, 200)); sf::RectangleShape secondsHand(sf::Vector2f(2, 220)); //массив стрелок sf::RectangleShape *strelki[3]; strelki[0] = &hourHand; strelki[1] = &minuteHand; strelki[2] = &secondsHand; //настройка стрелок setStrelki(strelki, windowCenter); //задний фон часов sf::Texture clockImage; if (!clockImage.loadFromFile("C:/Workshpase/Clock/fon.jpg")) { return EXIT_FAILURE; } clockCircle.setTexture(&clockImage); clockCircle.setTextureRect(sf::IntRect(40, 0, 500, 500)); while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } //Поворачиваем стрелки moveStrelki(strelki); //Отрисовываем drawing(&window, dot, strelki, clockCircle, centerCircle); } return EXIT_SUCCESS; }