검색결과 리스트
분류 전체보기에 해당되는 글 23건
- 2012.12.12 영재학급 자바수업
- 2012.12.12 Tweet Log
- 2012.12.12 Dimisign
- 2012.12.11 마작 점수 계산기
- 2012.12.11 SNS와 연동되는 채팅방 짹짹(ChatChat)
- 2011.11.15 본격 Gtk에서 Cairo 사용하기
- 2011.11.08 헝가리안 표기법!
- 2011.11.07 Nateon Client
- 2011.11.05 예외처리
- 2011.11.04 Lingr API 의 문제점
글
Java 강좌를 듣고 간략하게 기록한 것들
글
'실적물' 카테고리의 다른 글
Dimisign (0) | 2012.12.12 |
---|---|
마작 점수 계산기 (0) | 2012.12.11 |
SNS와 연동되는 채팅방 짹짹(ChatChat) (0) | 2012.12.11 |
글
'실적물' 카테고리의 다른 글
Tweet Log (0) | 2012.12.12 |
---|---|
마작 점수 계산기 (0) | 2012.12.11 |
SNS와 연동되는 채팅방 짹짹(ChatChat) (0) | 2012.12.11 |
글
'실적물' 카테고리의 다른 글
Tweet Log (0) | 2012.12.12 |
---|---|
Dimisign (0) | 2012.12.12 |
SNS와 연동되는 채팅방 짹짹(ChatChat) (0) | 2012.12.11 |
글
SNS와 연동되는 채팅방 짹짹(ChatChat)
실적물
2012. 12. 11. 18:39
글
본격 Gtk에서 Cairo 사용하기
프로그래밍/Gtk+/binding gtk
2011. 11. 15. 23:11
예제 소스 참조한곳 주소 => http://zetcode.com/tutorials/cairographicstutorial/basicdrawing/
결과창
선긋는 예제인듯.
난 저중에서 소스를 일부를 뽑아내서
라는 함수를 만들었다.
mx, my가 시작위치 lx, ly 가 끝위치로해서 선을 긋는 함수다. 물론 cairo_t 타입으로 cr이라는 변수가 선언되어있어야한다.
마우스가 눌리면 전역변수 x,y값에 마우스가 누른 좌표값을 넣고, 마우스가 떼어지면 함수를 이용해 drawline함수를 사용해서 선을 그어보고싶었지만 마우스를 누르고떼는 이벤트와 그 값이 넘어가는 방식을 몰라서 막혔다. 국내에 Gtk, Cairo로 무언가 만들어본사람의 조언이있으면 좋을텐데... 예제파일이랑 영문문서를 찾아야하는건가... @.@...
#include <cairo.h> #include <gtk/gtk.h> static gboolean on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) { cairo_t *cr; cr = gdk_cairo_create (widget->window); cairo_set_source_rgba(cr, 0, 0, 0, 1); static const double dashed1[] = {4.0, 1.0}; static int len1 = sizeof(dashed1) / sizeof(dashed1[0]); static const double dashed2[] = {4.0, 1.0, 4.0}; static int len2 = sizeof(dashed2) / sizeof(dashed2[0]); static const double dashed3[] = {1.0}; cairo_set_line_width(cr, 1.5); cairo_set_dash(cr, dashed1, len1, 0); cairo_move_to(cr, 40, 30); cairo_line_to(cr, 200, 30); cairo_stroke(cr); cairo_set_dash(cr, dashed2, len2, 1); cairo_move_to(cr, 40, 50); cairo_line_to(cr, 200, 50); cairo_stroke(cr); cairo_set_dash(cr, dashed3, 1, 0); cairo_move_to(cr, 40, 70); cairo_line_to(cr, 200, 70); cairo_stroke(cr); cairo_destroy(cr); return FALSE; } int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *darea; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); darea = gtk_drawing_area_new(); gtk_container_add(GTK_CONTAINER(window), darea); g_signal_connect(darea, "expose-event", G_CALLBACK (on_expose_event), NULL); g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 250, 100); gtk_widget_show_all(window); gtk_main(); return 0; }
결과창
선긋는 예제인듯.
난 저중에서 소스를 일부를 뽑아내서
void drawline(mx, my, lx, ly)
{
cairo_set_source_rgba(cr, 0, 0, 0, 1); // color setting
cairo_set_line_width(cr, 1); // line width setting
cairo_move_to(cr, mx, my); // start point
cairo_line_to(cr, lx, ly); // end point
cairo_stroke(cr); // draw?
}
라는 함수를 만들었다.
mx, my가 시작위치 lx, ly 가 끝위치로해서 선을 긋는 함수다. 물론 cairo_t 타입으로 cr이라는 변수가 선언되어있어야한다.
마우스가 눌리면 전역변수 x,y값에 마우스가 누른 좌표값을 넣고, 마우스가 떼어지면 함수를 이용해 drawline함수를 사용해서 선을 그어보고싶었지만 마우스를 누르고떼는 이벤트와 그 값이 넘어가는 방식을 몰라서 막혔다. 국내에 Gtk, Cairo로 무언가 만들어본사람의 조언이있으면 좋을텐데... 예제파일이랑 영문문서를 찾아야하는건가... @.@...
'프로그래밍 > Gtk+/binding gtk' 카테고리의 다른 글
gtkmm 예제 프로그램 (0) | 2011.11.03 |
---|---|
gtkmm! Anjuta! (0) | 2011.11.02 |
gtkbuilder의 사용 (0) | 2011.06.09 |
글
팀프로젝트땐 이 방식으로 코딩한다고한다.
변수, 함수 마다 각 타입이나 기타등등을 이름으로 적고 줄바꿈을 할땐 띄어쓰기 네칸이라던가...
확실히 이렇게하면 보기 좋을 것 같다.
링크해둬야지
http://sarum.tistory.com/85
변수, 함수 마다 각 타입이나 기타등등을 이름으로 적고 줄바꿈을 할땐 띄어쓰기 네칸이라던가...
확실히 이렇게하면 보기 좋을 것 같다.
링크해둬야지
http://sarum.tistory.com/85
'기타' 카테고리의 다른 글
Nateon Client (0) | 2011.11.07 |
---|---|
Lingr API 의 문제점 (0) | 2011.11.04 |
핑퐁 스크립트 (1) | 2011.07.14 |
ざわざわ (0) | 2011.06.07 |
잡담 여러개 (0) | 2011.06.04 |
글
Nateon Client
기타
2011. 11. 7. 17:23
socket 열고 send, recv 함수 쓰고... 뭐 그런건 잘되는데 ticket 값이라고 nateon으로 로그인 할때 필요한 값이 있는데 이 값을 받아오는게 골치다. curl로 받아왔는데 이걸 어떻게 문자열로 저장하고 끊을지 막막.......
글
예외처리를 전문으로 해주는 키워드 try catch....
과거엔 if else로 일일히 예외 처리를 해줘야했는데 C++ 에선 이걸 try catch 문으로 쉽게 처리해 줄 수 있디.
예를들면
try {
...
if(...) throw a
{ ... }
}
catch(int a) {
...
}
이런식으로 try 부분에선 할일, 수행할 코드를 적고 throw는 값을 넘겨주는 역할을, catch 문은 throw로부터 받은 값을 이용해 예외 발생시 할 일을 적는다.
이 키워드는 자바에서도 C#에서도 거의 비슷하게 동작하는것 같다
과거엔 if else로 일일히 예외 처리를 해줘야했는데 C++ 에선 이걸 try catch 문으로 쉽게 처리해 줄 수 있디.
예를들면
try {
...
if(...) throw a
{ ... }
}
catch(int a) {
...
}
이런식으로 try 부분에선 할일, 수행할 코드를 적고 throw는 값을 넘겨주는 역할을, catch 문은 throw로부터 받은 값을 이용해 예외 발생시 할 일을 적는다.
이 키워드는 자바에서도 C#에서도 거의 비슷하게 동작하는것 같다
'프로그래밍' 카테고리의 다른 글
delete 와 new (0) | 2011.11.03 |
---|---|
C++ 생성자와 소멸자 (0) | 2011.11.03 |
virtual class (0) | 2011.11.03 |
C++ 상속 (0) | 2011.11.03 |
프리미티브 타입 (0) | 2011.11.03 |
글
Lingr API 의 문제점
기타
2011. 11. 4. 20:28
API를 설명한 위키페이지에서는
라고 설명되어 있었다. 그러나 api_key값이 정확하게 무엇인지 설명도 나와있지않다. developer 페이지에 가면 key와 secret이 있는데 이 값을 넣어도 도저히 안된다.
그래서 구글링을 통해 API메모 라는 이름으로 된 GitHub 페이지를 발견했다. 그곳에선
session/create
라고 되어있는데
해석하자면 POST방식으로 user값엔 유저 ID를, password라는 값엔 비밀번호를 입력하게 하면 값이 돌아온다 설명해놓고 각 값에 대한 의미를 설명했다.
이 사이트를 보고 나는 다시 이 방식대로 해보고 제대로 값이 돌아오는 걸 볼 수 있었다.
도데체 난..... 왜 뻘짓을 한거냐.... 아무튼... 공식 설명 사이트의 위키 최종 갱신일이 2008년인걸 보면..... 공식 위키는 참조할만한데가 못되는거 아닌가 싶다...
session.create
Creates a new Lingr API session. Once you create a session, you must perform some API call at least once every ten minutes, or the session will time out and be automatically destroyed.
HTTP Method:
- POST
- http://www.lingr.com/api/session/create
Parameters:
api_key * | Your API Key |
client_type | The type of your API client- if provided, must be either human or automaton. If not provided, the default is automaton. For more information, see the client type page. |
(*) Required
Example Response:
<?xml version="1.0" encoding="UTF-8"?></response>
<response>
<status>ok</status>
<session>g5K1smWyhwa</session>
라고 설명되어 있었다. 그러나 api_key값이 정확하게 무엇인지 설명도 나와있지않다. developer 페이지에 가면 key와 secret이 있는데 이 값을 넣어도 도저히 안된다.
그래서 구글링을 통해 API메모 라는 이름으로 된 GitHub 페이지를 발견했다. 그곳에선
session/create
セッションID作成する
リクエスト
POST
user: ユーザ名
password: パスワード
レスポンス
session: セッションID
nickname: ニックネーム
public_id: パブリックID
is_online: online/offline
user.name: 表示名
user.username: ユーザ名
ユーザ名かパスワードが無効のときは
{status: “error”, code: “invalide_user_credentials”, … }
라고 되어있는데
해석하자면 POST방식으로 user값엔 유저 ID를, password라는 값엔 비밀번호를 입력하게 하면 값이 돌아온다 설명해놓고 각 값에 대한 의미를 설명했다.
이 사이트를 보고 나는 다시 이 방식대로 해보고 제대로 값이 돌아오는 걸 볼 수 있었다.
도데체 난..... 왜 뻘짓을 한거냐.... 아무튼... 공식 설명 사이트의 위키 최종 갱신일이 2008년인걸 보면..... 공식 위키는 참조할만한데가 못되는거 아닌가 싶다...