コード例 #1
0
ファイル: GRSingleRest.cpp プロジェクト: EQ4/guido-engine
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 );
}
コード例 #2
0
ファイル: Source.cpp プロジェクト: DennikovIvan/Lab-2---3
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(&centerCircle, 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;
}