[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mgp-users-jp 00378] Re: visual class
- To: mgp-users-jp@mew.org
- Subject: [mgp-users-jp 00378] Re: visual class
- From: Kenichi Chinen <k-chinen@is.aist-nara.ac.jp>
- Date: Mon, 21 Dec 1998 13:59:58 +0900
- In-reply-to: Your message of "Mon, 21 Dec 1998 11:36:34 +0900"
- Posted: Mon, 21 Dec 1998 13:59:29 +0900
- References: <>
- Reply-to: mgp-users-jp@mew.org
From: Atsushi Onoe <onoe@sm.sony.co.jp>
> > 今の MagicPoint は PseudoColor のつもりで作っているようなので、
> > PseudoColor 16depth の方が扱いやすいと思います。
>
> いや、開発者の大部分が 16bit TrueColor の Note だったこともあって、
> TrueColor が基本です。24bit, 8bit が後で追加されました。
なるほど、それは失礼しました。
> background image 上の anti-alias なんてときに PseudoColor は計算が
> しんどいし遅いので TrueColor の方が好きです。
> DirectColor とか StaticColor とか言われると困るけど。。。
計算が面倒ですね。私も PseudoColor はできるだけ避けています。
ただ、数年前までは 8depth PseudoColor のサーバが多かったような気がしま
すが、いまは大丈夫でしょうか ?
以下のような前提があれば、大丈夫なのかな ?
- プレゼンするのはノート
- ノートは数年しか使えない (古いノートはつかっていない)
- 最近のノートはカラーで 16,24 depth が主流
> > X の慣例に従っていない理由がわからないのですが...
> > "geometry" とか "foreground" という風な指定をするのなら、X の引数処理
> > ルーチンを使った方が良い気がしますが、どうして使っていないのでしょうか ?
>
> 少なくとも私にとっては X を知らない、というのが主な理由です:-)
>
> ただ、Xlib 以外を使い始めると余計ややこしくなる(し勉強しなきゃいけない)
> ので、できれば Xlib 以外は使いたくないのですが、Xlib にそんなのありました
> っけ?
私はいつもは Xt なので、自分では呼び出していませんが、Xlib のレベルで
は XrmParseCommand() というのがあります。これなら Xlib です。ちょっと
の勉強は必要です :-)
下のプログラムを試してみて下さい。Xlib だけリンクして動くでしょう。
つぎのように実行すると挙動が分かると思います。
% ./a.out -font fixed -fg red first second third
/*
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xproto.h>
#include <X11/Xresource.h>
static XrmOptionDescRec optlist[] = {
{"-fg", ".foreground", XrmoptionSepArg, NULL},
{"-foreground",".foreground", XrmoptionSepArg, NULL},
{"-bg", ".background", XrmoptionSepArg, NULL},
{"-background",".background", XrmoptionSepArg, NULL},
{"-font", ".font", XrmoptionSepArg, NULL},
{"-visual", ".visual", XrmoptionSepArg, NULL},
{"-depth", ".depth", XrmoptionSepArg, NULL},
{"-geometry", ".geometry", XrmoptionSepArg, NULL},
{"-file", ".file", XrmoptionSepArg, NULL},
};
XrmDatabase db;
void
main(int argc, char **argv)
{
int i;
char *progname="dummy";
XrmValue value;
char *type;
XrmInitialize();
XrmParseCommand(&db,
optlist, sizeof(optlist)/sizeof(XrmOptionDescRec),
progname, &argc, argv);
fprintf(stderr, "options:\n");
for(i=0;i<sizeof(optlist)/sizeof(XrmOptionDescRec);i++) {
char label[1024];
sprintf(label, "%s%s", progname, optlist[i].specifier);
if (XrmGetResource(db, label, (char *) NULL, &type, &value)) {
fprintf(stderr,
" '%s' // value len %d, addr %p '%s'\n",
optlist[i].specifier,
value.size, value.addr, value.addr);
}
}
fprintf(stderr, "argments:\n");
for(i=0;i<argc;i++) {
fprintf(stderr, " %2d: '%s'\n", i, argv[i]);
}
exit(0);
}