GŁOŚNIK 1: Załóżmy teraz napisać program że w jakiś sposób współdziała z mojej myszki. W szczególności, niech instancji, lub utworzyć okno. A potem posłuchajmy, że tak powiem, w tym oknie do kliknięć myszką. I jak tylko wykryje kliknięcie, niech drukować z printf współrzędne x przecinek y tej myszy kliknij względem tego okna. Zaczynamy. Niech najpierw obejmują gevents.h, który jest inny plik nagłówka w Stanford przenośna biblioteka, która dotyczy do wydarzeń graficznych. Załóżmy także gwindow.h, które zawiera funkcje związane z systemem Windows. Załóżmy teraz zadeklarować główną w znany sposób. I niech teraz instancji tego okna. Gwindow - nazwijmy to okno - równa newGwindow. A ja nieco arbitralnie określić szerokość 320 pikseli i wysokości 240 pikseli. Teraz musimy przejść do słuchania dla zdarzeń myszy, tak aby mówić, w tym oknie. Teraz wydarzenia mogą obejmować kliknięć lub ciągnie lub ruchy. Ale na razie skupimy się tylko na kliknięcia. Będę celowo wywoływać nieskończonej pętli while z konstruktem, po prostu tak, że ten program działa na zawsze, a przynajmniej dopóki nie kliknij X w górnym prawym rogu. Aby to zrobić, zróbmy jednocześnie prawdziwe. I wtedy wewnątrz tej pętli zaczynamy pierwszy czek na zdarzeń myszy w następujący sposób. Będziemy zadeklarować GEvent, że tak powiem. Zadzwonimy zmienną zdarzenia. I mamy zamiar przechowywać w tym wartość getNextEvent powrócić, przechodząc W szczególnym stałej, które ze Konwencja jest napisane wielkimi literami, nazywa MOUSE_EVENT. Innymi słowy, gdzie, w tym Stanford przenośna biblioteka, jest stała zwana MOUSE_CLICED. I jest to funkcja zdefiniowana nazywa getNextEvent, którego celem w życie jest dokładnie to zrobić. Słuchać, a gdy słyszy jedną, zwraca się do kolejnego punktu, który jest uruchomione przez myszy użytkownika. Teraz sprawdź, czy że impreza jest null. Bo to nie jest pusty, i że jest to rzeczywiście usłyszał coś od myszy użytkownika, będziemy kontynuować sprawdzić teraz, jaki rodzaj zdarzenia, które było. Jeśli getEventType, przechodząc zdarzenie jako argument równa równych MOUSE_CLICKED, co dzieje się szczególny rodzaj zdarzeń, który jest po prostu kolejny oświadczył w stałej Stanford przenośną biblioteką. Teraz zgodnie z obietnicą, teraz wydrukować Współrzędne tego myszy. Printf "% .0 f. Innymi słowy, mam zamiar wydrukować z wartości zmiennoprzecinkowej. Ale ja nie chcę, aby cokolwiek zobaczyć po przecinku. Więc będę określać 0,0. Przecinek,% .0 f dla współrzędna y oraz. Odwrotny ukośnik n blisko cytatu. A teraz przejdźmy współrzędna x z tego wydarzenia. To jest współrzędna x z myszy. A następnie przejdźmy y zdarzenia, który jest współrzędną y z myszy. Załóżmy teraz zapisać, skompilować, i uruchomić ten program. I kiedy zrobić, powinno być w przypadku że bez względu na to, gdzie kliknąć w ciągu ramach tego 320 na 240 pikseli okno, należy następnie sprawdzić na moim okno konsoli x współrzędne Y przecinkami gdzie kliknąłem. Sprawdź, kliknij. . / Kliknij. I jest, że okno przewidywaliśmy. Teraz pozwól mi kliknij mniej więcej w górnej lewym rogu okna. W moim ekranie konsoli, widzę, że stało kliknij współrzędna x siedem a współrzędna y siedem. Załóżmy teraz, kliknij mniej więcej w dolnej prawym rogu okna. I wydaje się, że kliknął pixel współrzędnych 314, 229. Załóżmy teraz zrobić lewy dolny róg. I widzę, 6, 233. Oraz w prawym górnym rogu, 305, 4. Innymi słowy, wydaje się być przypadek że górny róg z lewej strony nasze okno jest 0, 0. I dolny prawy róg z mojego okna jest 320, 240. Innymi słowy, nie widziałem właśnie te wartości, miał po prostu idealnie dopasowane mój kursor myszy W każdym z tych naroży. To prawda, w ogóle w graficznym programowania, czy za pomocą Stanford przenośna biblioteka lub najbardziej dowolny inne, w którym możemy reprezentować góry narożnik jako 0, 0 i dolny prawym rogu jak przecinek szerokości wysokość, używając liczby dodatnie, nawet choć to w dół i na prawo.