SPEAKER 1: بیایید به یک برنامه ارسال که به نحوی با موس من تعامل است. به طور خاص، اجازه دهید نمونه، و یا ایجاد یک پنجره. و پس از آن اجازه دهید گوش دادن، پس به صحبت می کنند، که در آن پنجره برای کلیک ماوس. و به محض تشخیص یک کلیک ماوس، اجازه دهید با چون printf نسخه قابل چاپ مختصات Y X کاما از که موس کلیک کنید، نسبت به پنجره. در اینجا می رویم. اجازه دهید اول شامل gevents.h، که یکی دیگر از فایل هدر در دانشگاه استنفورد کتابخانه قابل حمل است که مربوط به رویدادی گرافیکی. اجازه دهید همچنین شامل gwindow.h، که شامل توابع مربوط به ویندوز. اکنون بیایید اصلی اعلام در روش معمول. و اجازه دهید در حال حاضر که پنجره نمونه. Gwindow - ما آن را در پنجره تماس بگیرید - برابر newGwindow. و من تا حدودی خودسرانه را مشخص کنید عرض 320 پیکسل و ارتفاع 240 پیکسل. در حال حاضر ما نیاز به ادامه به گوش دادن برای رویدادهای موس، پس به صحبت می کنند، که در آن پنجره. حالا رویدادی می تواند شامل کلیک و یا کشیدن یا حرکت. اما در حال حاضر ما تمرکز تنها بر روی کلیک. من قصد دارم به عمد منجر به حلقه بی نهایت با یک ساختار در حالی که، به سادگی به طوری که این برنامه اجرا می شود برای همیشه، و یا حداقل تا زمانی که من کلیک کنید X در گوشه سمت راست بالا. برای این کار، اجازه دهید در حالی که درست است انجام دهد. و سپس در داخل آن حلقه، اجازه می دهد که اولین چک را برای رویداد موس به شرح زیر است. ما GEvent را اعلام، پس به صحبت می کنند. ما از این رویداد متغیر تماس بگیرید. و ما در حال رفتن به فروشگاه در آن ارزش getNextEvent بازگشت، عبور در یک ثابت خاص، که توسط کنوانسیون است در همه کلاه نوشته شده است، نام MOUSE_EVENT. به عبارت دیگر، در جایی، در این کتابخانه دانشگاه استانفورد قابل حمل، یک وجود دارد ثابت نام MOUSE_CLICED. و یک تابع تعریف شده است که وجود دارد نام getNextEvent، که هدف در زندگی است که برای انجام دقیقا همان است که. گوش دادن به، و سپس هنگامی که آن را می شنود، رویداد بعدی که برمی گرداند توسط ماوس کاربر انجام شده باشد. حالا اجازه دهید که آیا بررسی که رویداد تهی است. از آنجا که این تهی نیست، و ما است چیزی در واقع شنیده از موس کاربر، ما قصد داریم به ادامه برای چک کردن در حال حاضر چه نوع از واقعه ای که بود. اگر getEventType، عبور یک رویداد به عنوان آرگومان، برابر با برابر MOUSE_CLICKED، که اتفاق می افتد که نوع خاصی از رویدادی است که فقط ثابت دیگر اعلام شده در کتابخانه قابل حمل استنفورد. در حال حاضر به عنوان وعده داده، اجازه دهید در حال حاضر از چاپ مختصات آن کلیک ماوس. چون printf "٪ 0.0 F. به عبارت دیگر، من قصد دارم برای چاپ از یک مقدار ممیز شناور. اما من نمی خواهم برای دیدن هر چیزی بعد از نقطه اعشار. پس من 0.0 را تعیین کنید. کاما،٪ 0.0 F برای مختصات y نیز هست. بک اسلش N اعلان نزدیک است. و اکنون اجازه دهید به دریافت x-مختصات از آن رویداد. این است که x-مختصات از ماوس را کلیک کنید. و پس از آن اجازه دهید Y از این رویداد را دریافت کنید، است که مختصات y از ماوس را کلیک کنید. بیایید نجات دهد، تدوین، و اجرای این برنامه است. و زمانی که من، آن را باید به صورت که بدون توجه به جایی که من در را کلیک کنید محدوده این 320 در 240 پیکسل پنجره، من پس از آن باید در دیدن من پنجره کنسول ایکس کاما از هم Y-مختصات از جایی که من کلیک. را کلیک کنید. . / را کلیک کنید. و این است که پنجره ما پیش بینی وجود دارد. حالا اجازه دهید من تقریبا کلیک کنید در بالای صفحه گوشه سمت چپ پنجره. در صفحه نمایش کنسول من، من می بینم که من رخ می دهد با کلیک بر روی x-مختصات هفت و مختصات y هفت. اجازه دهید در حال حاضر حدود کلیک کنید در پایین گوشه سمت راست پنجره. و من به نظر می رسد در کلیک پیکسل مختصات 314، 229. اجازه دهید در حال حاضر در گوشه پایین سمت چپ. و من 6، 233 مراجعه کنید. و گوشه بالا و سمت راست، 305، 4. به عبارت دیگر، به نظر می رسد را به صورت را که گوشه سمت چپ بالای پنجره ما 0 است، 0. و گوشه سمت راست پایین از پنجره من 320 240 است. به عبارت دیگر، من را دیده اند، دقیقا همان ارزش ها، به حال من فقط کاملا تراز وسط قرار دارد ماوس من در هر یک از این گوشه. این درست است به طور کلی در گرافیکی برنامه نویسی، که آیا با استفاده از کتابخانه قابل حمل استنفورد و یا بیشتر هر دیگر، به موجب آن ما را نمایندگی بالا گوشه به عنوان 0، 0، و پایین گوشه سمت راست به عنوان کاما از هم عرض ارتفاع، با استفاده از اعداد مثبت، حتی هر چند آن را به پایین و به سمت راست.