Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   I need help with xwindows! (http://www.go4expert.com/forums/i-help-xwindows-t7550/)

Johnathanx 26Nov2007 21:58

I need help with xwindows!
 
Hi!

I am really having trouble with xwindows.

I have managed to create a colour chooser, that creates a rectangle and allows the user to change the colour by typing in values accordingly.

I want to be able to create a moving rectangle that will rotate clock-wise on the same window as my previous changing colour box.

The code i have so far is as follows.

Code:




#include "mywin.h"
#include "button.h"
#include "textwin.h"
#include <stdio.h>

Button B1, B2;      /* Buttons must be declared, then Created */
                /* before they become live */

Textwin red, green, blue;

char mousestr[100];


Colour makeColour(int red, int green, int blue)
{
        return((red&0xff)<<16|(green&0xff)<<8|(blue&0xff));
}

void move()
{

}

void draw2()
{
    XClearWindow  (display, main_win);
    XFillRectangle(display, main_win, gc_1, 50, 50, 100, 100);
    XSetForeground(display, gc_1, makeColour (atoi(red.text), atoi(green.text), atoi(blue.text)));
    XFlush(display);
}

void B1fn()
{
    draw2();
}

void B2fn()
{
        move();
}

void draw()      /* AKA FormPaint */
{
    XClearWindow  (display, main_win);
    XFillRectangle(display, main_win, gc_1, 50, 50, 100, 100);
}

int main()
{
    setupX();
    make_window(600, 400, "Colour Chooser");   
    Textwin_Create(&red, 10, 200, 170, 28, "Red", "red");
    Textwin_Create(&green, 10, 250, 170, 28, "Green", "green");
    Textwin_Create(&blue, 10, 300, 170, 28, "Blue", "blue");
    Button_Create( &B1, 10, 350, 170, 28, "Double-Click to update", &B1fn);
        Button_Create( &B2, 200, 200, 170, 28, "Start Revolving Square", &B2fn);
    event_loop(subwindowlist);
    return -1;
}

Anybody have any idea at all how i can make the move() function create a rotating rectangle?!

Any help on this at all is greatly appreciated


All times are GMT +5.5. The time now is 16:26.