1. 程式人生 > >X11,X Window,hello world 例子

X11,X Window,hello world 例子

gcc -o x-hello  x-hello.c -lX11

#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void) {
   Display *d;
   Window w;
   XEvent e;
   char *msg = "Hello, World!";
   int s;
 
   d = XOpenDisplay(NULL);
   if (d == NULL) {
      fprintf(stderr, "Cannot open display\n");
      exit(1);
   }
 
   s = DefaultScreen(d);
   w = XCreateSimpleWindow(d, RootWindow(d, s), 100, 100, 500,500, 1,
                           777215, 111111);
               printf("BlackPixel(d, s) is %d\n",(int)BlackPixel(d, s));
               printf("WhitePixel(d, s) is %d\n",(int)WhitePixel(d, s));
   XSelectInput(d, w, ExposureMask | KeyPressMask);
   XMapWindow(d, w);
 
   while (1) {
      XNextEvent(d, &e);
      if (e.type == Expose) {
         XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10);
         XDrawString(d, w, DefaultGC(d, s), 10, 50, msg, strlen(msg));
      }
      if (e.type == KeyPress)
         break;
   }
 
   XCloseDisplay(d);
   return 0;
}
 


相關推薦

X11,X Window,hello world 例子

gcc -o x-hello  x-hello.c -lX11#include <X11/Xlib.h>#include <stdio.h>#include <stdlib.h>#include <string.h> int m

Neon加速的Hello world例子

程式碼如下 #include <sys/time.h> #include <stdlib.h> #include <stdio.h> #include <ar

Spring Boot 實踐折騰記(一):快速,Hello World例子

規劃人生旅程是你自己責無旁貸的責任,沒有其他人可以替你規劃。即便是你的老闆,也沒有這個義務。要實現自我發展,必須同時做好兩件事:精益求精和嘗試新鮮。——《非營利性組織的管理》 開始前… 最近閒下來,看了些Spring Boot和Docker的相關資料

Spring 4 Hello World 例子(帶原始碼)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/P

apk整合Firebase功能的hello world例子

一、介紹            android studio->Tools->Firebase,這個Firebase是什麼功能呢?Firebase是google提供的一項服務

虛擬機器centos7上部署了flask的hello world例子,在電腦的瀏覽器上卻訪問失敗

電腦和虛擬機器ip分別是:192.168.1.105和192.168.1.254;電腦系統是win7,虛擬機器系統是centos 7,python版本3.6.4,flask版本1.0.2。在虛擬機器中部署了flask框架的hello world例子如下: 虛擬機器中啟動

cocos2d-x之淺析Hello World

source child 核心 內容 creat 哪些 項目 恢復 精靈sprite ***************************************轉載請註明出處:http://blog.csdn.net/lttree*****************

請做一個Filter過濾器的hello world最簡單的一個例子

1)helloWorld: 馬 克-to-win:請同學們先做本部分的Filter的hello world實驗。之後根據實驗,再返回來學習我接下來的這段話。由於在web.xml當中,我們Filter的url-pattern是/*,所以當用戶 訪問根目錄下的任何目標檔案時,我們這個Filter都會起作

一、spring boot 2.x hello world

1、建立maven專案,結構如下: 2、在pom中引入相關依賴 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h

Android RoboGuice 使用指南 2 第一個例子Hello World

                首先介紹一下如果將Guice 和RoboGuice 的庫新增到專案中。建立一個新Android專案,比如GuiceDemo,目標平臺Android1.5以上。一般可以在該專案下新增一個lib目錄,將兩個jar檔案拷到lib目錄下,然後通過: Project > Prope

OS X 上的 Hello World 原生程式的事實真相

最近我意識到,對可執行檔案如何與作業系統互動所知甚少。我寫一些C程式碼,它被編譯,彙編,並靜態連結,然後一些魔法發生,我寫的東西不知道怎麼就被載入並運行了。這篇文章是關於魔法背後的一些玄機,特別是解剖 OS X 的 Mach-O ABI 機制。 我開始了這個探索的過程,通過寫一

PyQt5的例子(一)——hello world

本文章內容屬於PyQt5學習筆記,學習資料為《PyQt5 tutorial》。 最簡單的例子:hello world #! /usr/bin/python3 # coding = utf-8 import sys from PyQt5.QtWidgets

C語言學習之1(Microsoft Visual Studio即VC6軟體的安裝及hello world 簡單例子編寫)

獲取軟體 安裝軟體 下載後,解壓檔案,執行解壓後根目錄下的VC6CN\SETUP.EXE,開始執行安裝,妥善安裝後,例如我的按照幾乎預設的安裝方式(中間就修改了碟符路徑),安裝在D:\Program Files (x86)\Microso

通過例子學習Rust之 1 Hello World

1 Hello World 世界,你好。 This is the source code of the traditional Hello World program. 這是傳統的Hello World的原始碼。 // This is a comme

Netty4.x中文教程系列(一)Hello World !

  在中國程式界。我們都是學著Hello World !慢慢成長起來的。逐漸從一無所知到熟悉精通的。   第二章就從Hello World 開始講述Netty的中文教程。   首先建立一個Java專案。引入一個Netty 框架的包。這個步驟我在本系列教程的後面就不在重

NDK-JNI實戰教程(三) 從比Hello World稍複雜點兒的NDK例子說說模板

PS一句:最終還是選擇CSDN來整理髮表這幾年的知識點,該文章平行遷移到CSDN。因為CSDN也支援MarkDown語法了,牛逼啊! 第一部分 概述 學習JNI NDK你需要有java與C或者C++基礎。因為NDK幾乎就是java與C或者C++

Window環境下安裝,使用入門hello-world示例

安裝 雙擊 Docker Quickstart Terminal 進入docker工作介面, 第一次安裝會下載一些東西,速度會比較慢點。 如果通過github下載 boot2docker.iso

SpringMVC 的hello world

一個 技術 pro 需要 servle 參數 src bsp pub 1.所需要的jar包: 2.web.xml的配置 <!-- 配置DispatcherServlet --> <servlet> <servlet-name&g

java學習(一) 環境搭建、hello world的demo

環境變量 網上 類庫 .com java開發 www cnblogs rgs .class   本程序媛搞前端的,上班偶有空閑,不妨來學習學習,不然怎麽包養小白臉,走上人生巔峰?   說實話,每個語言都相通,有了javascript的基礎,並且有了兩三年跟java打交道的經

56.storm 之 hello world (集群模式)

目錄 是否 代碼 -1 maven 參考 ntb 分享 log文件 回顧   在上一小節,我們在PWTopology1 這一個java類中註解掉了集群模式,使用本地模式大概了解一下storm的工作流程。這一節我們註解掉本地模式相關的代碼,放開集群模式相關代碼,並且將項目打包