mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
remove lyxdraw.[Ch]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@590 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
d2b9849fff
commit
7554e0687c
@ -1,5 +1,9 @@
|
||||
2000-03-08 Lars Gullik Bjønnes <larsbj@lyx.org>
|
||||
|
||||
* src/lyxdraw.h: remvoe file
|
||||
|
||||
* src/lyxdraw.C: remove file
|
||||
|
||||
* src/insets/insettext.C: added <algorithm>.
|
||||
|
||||
2000-03-07 Lars Gullik Bjønnes <larsbj@lyx.org>
|
||||
|
556
src/lyxdraw.C
556
src/lyxdraw.C
@ -1,556 +0,0 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "lyxdraw.h"
|
||||
#include "debug.h"
|
||||
|
||||
extern int reverse_video;
|
||||
extern int mono_video;
|
||||
extern char label_color[];
|
||||
extern char math_color[];
|
||||
extern char math_frame_color[];
|
||||
extern char latex_color[];
|
||||
extern char foot_color[];
|
||||
extern char new_line_color[];
|
||||
extern char fill_color[];
|
||||
extern int fast_selection;
|
||||
extern char on_off_line_color[];
|
||||
extern string background_color;
|
||||
extern char lighted_color[];
|
||||
extern char selection_color[];
|
||||
extern char note_color[];
|
||||
extern char note_frame_color[];
|
||||
|
||||
Colormap color_map = 0;
|
||||
long int background_pixels;
|
||||
|
||||
// X11 color names
|
||||
char const * const X11Color[11] =
|
||||
{ "black", "black", "white", "red", "green", "blue", "cyan", "magenta",
|
||||
"yellow", "black", "black" };
|
||||
|
||||
// Different graphic contexts
|
||||
static GC clear_gc = 0;
|
||||
static GC latex_gc = 0;
|
||||
static GC foot_gc = 0;
|
||||
static GC new_line_gc = 0;
|
||||
static GC math_gc = 0;
|
||||
static GC math_frame_gc = 0;
|
||||
static GC fill_gc = 0;
|
||||
static GC note_gc = 0;
|
||||
static GC note_frame_gc = 0;
|
||||
static GC copy_gc = 0;
|
||||
static GC select_gc = 0;
|
||||
static GC on_off_line_gc = 0;
|
||||
static GC thin_on_off_line_gc = 0;
|
||||
static GC thick_line_gc = 0;
|
||||
static GC lighted_gc = 0;
|
||||
static GC selection_gc = 0;
|
||||
static GC accent_gc[10] = { 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0 };
|
||||
static GC color_gc[11] = { 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0 };
|
||||
static GC minipage_gc = 0;
|
||||
|
||||
|
||||
// Allocates color and sets it as foreground
|
||||
// Returns "false" if unsuccesful
|
||||
bool setForegroundColor(char const * const color, XGCValues & val)
|
||||
{
|
||||
XColor xcol;
|
||||
if (!color_map) {
|
||||
color_map = fl_state[fl_get_vclass()].colormap;
|
||||
}
|
||||
if (!mono_video) {
|
||||
if (XParseColor(fl_display, color_map, color, &xcol)
|
||||
&& XAllocColor(fl_display, color_map, &xcol))
|
||||
{
|
||||
val.foreground = xcol.pixel;
|
||||
} else {
|
||||
lyxerr << "LyX: Couldn't get color "
|
||||
<< color << endl;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
void do_reverse_video(XGCValues &val)
|
||||
{
|
||||
if (reverse_video) {
|
||||
val.foreground= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.background= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
} else {
|
||||
val.foreground= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.background= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC make_normal_gc(const char* color)
|
||||
{
|
||||
XGCValues val;
|
||||
do_reverse_video(val);
|
||||
val.function = GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
setForegroundColor(color, val);
|
||||
return XCreateGC(fl_display, fl_root,
|
||||
GCBackground | GCForeground | GCFunction |
|
||||
GCGraphicsExposures, &val);
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetNoteGC()
|
||||
{
|
||||
if (note_gc) return note_gc;
|
||||
|
||||
note_gc = make_normal_gc(note_color);
|
||||
|
||||
return note_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetNoteFrameGC()
|
||||
{
|
||||
if (note_frame_gc) return note_frame_gc;
|
||||
|
||||
note_frame_gc = make_normal_gc(note_frame_color);
|
||||
|
||||
return note_frame_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetMathGC()
|
||||
{
|
||||
if (math_gc) return math_gc;
|
||||
|
||||
math_gc = make_normal_gc(math_color);
|
||||
|
||||
return math_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetLatexGC()
|
||||
{
|
||||
if (latex_gc) return latex_gc;
|
||||
|
||||
XGCValues val;
|
||||
if (reverse_video ^ mono_video) {
|
||||
val.foreground= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.background= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
} else {
|
||||
val.foreground= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.background= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
}
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
setForegroundColor(latex_color, val);
|
||||
latex_gc = XCreateGC(fl_display, fl_root, GCBackground
|
||||
| GCForeground | GCFunction
|
||||
| GCGraphicsExposures,
|
||||
&val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return latex_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetFootGC()
|
||||
{
|
||||
if (foot_gc) return foot_gc;
|
||||
|
||||
foot_gc = make_normal_gc(foot_color);
|
||||
|
||||
return foot_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetNewLineGC()
|
||||
{
|
||||
if (new_line_gc) return new_line_gc;
|
||||
|
||||
new_line_gc = make_normal_gc(new_line_color);
|
||||
|
||||
return new_line_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetMathFrameGC()
|
||||
{
|
||||
if (math_frame_gc) return math_frame_gc;
|
||||
|
||||
math_frame_gc = make_normal_gc(math_frame_color);
|
||||
|
||||
return math_frame_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetFillGC()
|
||||
{
|
||||
if (fill_gc) return fill_gc;
|
||||
|
||||
fill_gc = make_normal_gc(fill_color);
|
||||
|
||||
return fill_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetClearGC()
|
||||
{
|
||||
if (clear_gc) return clear_gc;
|
||||
|
||||
XGCValues val;
|
||||
|
||||
if (reverse_video) {
|
||||
val.foreground= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.background= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
} else {
|
||||
val.background= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.foreground= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
}
|
||||
val.function = GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
if (!fast_selection && background_color != "white") {
|
||||
setForegroundColor(background_color.c_str(), val);
|
||||
}
|
||||
background_pixels = val.foreground;
|
||||
|
||||
clear_gc = XCreateGC(fl_display, fl_root, GCBackground
|
||||
| GCForeground | GCFunction
|
||||
| GCGraphicsExposures,
|
||||
&val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return clear_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetOnOffLineGC()
|
||||
{
|
||||
if (on_off_line_gc) return on_off_line_gc;
|
||||
|
||||
XGCValues val;
|
||||
do_reverse_video(val);
|
||||
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
setForegroundColor(on_off_line_color, val);
|
||||
val.line_width = 0;
|
||||
val.line_style = LineOnOffDash;
|
||||
on_off_line_gc = XCreateGC(fl_display, fl_root,
|
||||
GCBackground | GCForeground | GCFunction |
|
||||
GCGraphicsExposures | GCLineWidth |
|
||||
GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return on_off_line_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetThickLineGC()
|
||||
{
|
||||
if (thick_line_gc) return thick_line_gc;
|
||||
XGCValues val;
|
||||
do_reverse_video(val);
|
||||
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
val.line_width = 2;
|
||||
val.line_style = LineSolid;
|
||||
thick_line_gc = XCreateGC(fl_display, fl_root, GCBackground
|
||||
| GCForeground | GCFunction
|
||||
| GCGraphicsExposures
|
||||
| GCLineWidth | GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return thick_line_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetThinOnOffLineGC()
|
||||
{
|
||||
if (thin_on_off_line_gc) return thin_on_off_line_gc;
|
||||
XGCValues val;
|
||||
do_reverse_video(val);
|
||||
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
val.line_style = LineOnOffDash;
|
||||
val.line_width = 0;
|
||||
thin_on_off_line_gc =
|
||||
XCreateGC(fl_display, fl_root, GCBackground
|
||||
| GCForeground | GCFunction | GCGraphicsExposures
|
||||
| GCLineWidth | GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return thin_on_off_line_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetCopyGC()
|
||||
{
|
||||
if (copy_gc) return copy_gc;
|
||||
XGCValues val;
|
||||
do_reverse_video(val);
|
||||
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
val.line_style = LineSolid;
|
||||
val.line_width = 0;
|
||||
copy_gc = XCreateGC(fl_display, fl_root, GCBackground
|
||||
| GCForeground | GCFunction | GCGraphicsExposures
|
||||
| GCLineWidth | GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return copy_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetSelectGC()
|
||||
{
|
||||
if (select_gc) return select_gc;
|
||||
XGCValues val;
|
||||
unsigned int a = BlackPixel(fl_display, DefaultScreen(fl_display));
|
||||
unsigned int b = WhitePixel(fl_display, DefaultScreen(fl_display));
|
||||
val.plane_mask = a^b;
|
||||
val.line_style = LineSolid;
|
||||
val.line_width = 2;
|
||||
val.graphics_exposures = false;
|
||||
val.function= GXinvert;
|
||||
select_gc = XCreateGC(fl_display, fl_root,
|
||||
GCFunction | GCGraphicsExposures | GCPlaneMask
|
||||
| GCLineWidth | GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return select_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetSelectionGC()
|
||||
{
|
||||
if (selection_gc) return selection_gc;
|
||||
|
||||
XGCValues val;
|
||||
|
||||
if (!reverse_video) {
|
||||
val.foreground= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.background= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
} else {
|
||||
val.background= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
val.foreground= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
}
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
if (!fast_selection && selection_color[0] != 0) {
|
||||
if (!setForegroundColor(selection_color, val)) {
|
||||
fast_selection = True;
|
||||
if (clear_gc) clear_gc = 0;
|
||||
lyxerr << " Will use FastSelection-method."
|
||||
<< endl;
|
||||
}
|
||||
}
|
||||
selection_gc = XCreateGC(fl_display, fl_root,
|
||||
GCBackground | GCForeground | GCFunction
|
||||
| GCGraphicsExposures, &val);
|
||||
|
||||
return selection_gc;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetLightedGC()
|
||||
{
|
||||
if (lighted_gc) return lighted_gc;
|
||||
XGCValues val;
|
||||
if (reverse_video) {
|
||||
val.background= BlackPixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
} else {
|
||||
val.background= WhitePixel(fl_display,
|
||||
DefaultScreen(fl_display));
|
||||
}
|
||||
val.foreground= val.background;
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
val.line_style = LineSolid;
|
||||
val.line_width = 0;
|
||||
setForegroundColor(lighted_color, val);
|
||||
lighted_gc = XCreateGC(fl_display, fl_root, GCBackground
|
||||
| GCForeground | GCFunction
|
||||
| GCGraphicsExposures
|
||||
| GCLineWidth | GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return lighted_gc;
|
||||
}
|
||||
|
||||
|
||||
#ifdef USE_PAINTER
|
||||
GC GetColorGC(LColor::color color)
|
||||
#else
|
||||
GC GetColorGC(LyXFont::FONT_COLOR color)
|
||||
#endif
|
||||
{
|
||||
if (color_gc[color]) return color_gc[color];
|
||||
|
||||
XGCValues val;
|
||||
do_reverse_video(val);
|
||||
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
setForegroundColor(X11Color[color], val);
|
||||
val.line_width = 0;
|
||||
val.line_style = LineSolid;
|
||||
color_gc[color] = XCreateGC(fl_display, fl_root,
|
||||
GCBackground | GCForeground | GCFunction |
|
||||
GCGraphicsExposures | GCLineWidth |
|
||||
GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return color_gc[color];
|
||||
}
|
||||
|
||||
|
||||
GC GetAccentGC(LyXFont const &f, int line_width)
|
||||
{
|
||||
if (line_width >= 10) line_width = 9;
|
||||
|
||||
if (accent_gc[line_width]) return accent_gc[line_width];
|
||||
|
||||
// Build this one from normal text GC, but change linewidth.
|
||||
XGCValues val;
|
||||
GC gc = f.getGC();
|
||||
XGetGCValues(fl_display, gc, GCBackground | GCForeground |
|
||||
GCFunction | GCGraphicsExposures | GCLineWidth |
|
||||
GCLineStyle | GCPlaneMask, &val);
|
||||
|
||||
val.line_width = line_width;
|
||||
val.cap_style = CapRound;
|
||||
val.join_style = JoinRound;
|
||||
|
||||
GC ac = XCreateGC(fl_display, fl_root,
|
||||
GCBackground | GCForeground | GCFunction |
|
||||
GCGraphicsExposures | GCLineWidth |
|
||||
GCLineStyle | GCPlaneMask, &val);
|
||||
|
||||
XFlush(fl_display);
|
||||
accent_gc[line_width] = ac;
|
||||
|
||||
return accent_gc[line_width];
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
GC GetMinipageGC()
|
||||
{
|
||||
if (minipage_gc) return minipage_gc;
|
||||
XGCValues val;
|
||||
do_reverse_video(val);
|
||||
|
||||
val.function= GXcopy;
|
||||
val.graphics_exposures = false;
|
||||
val.line_style = LineOnOffDash;
|
||||
val.line_width = 0;
|
||||
setForegroundColor(fill_color, val);
|
||||
minipage_gc = XCreateGC(fl_display, fl_root,
|
||||
GCBackground | GCForeground | GCFunction |
|
||||
GCGraphicsExposures | GCLineWidth |
|
||||
GCLineStyle , &val);
|
||||
XFlush(fl_display);
|
||||
|
||||
return minipage_gc;
|
||||
}
|
||||
|
||||
|
||||
GC getGC(gc_type typ)
|
||||
{
|
||||
GC gc = 0;
|
||||
switch(typ) {
|
||||
case gc_clear:
|
||||
gc = GetClearGC();
|
||||
break;
|
||||
case gc_latex:
|
||||
gc = GetLatexGC();
|
||||
break;
|
||||
case gc_foot:
|
||||
gc = GetFootGC();
|
||||
break;
|
||||
case gc_new_line:
|
||||
gc = GetNewLineGC();
|
||||
break;
|
||||
case gc_math:
|
||||
gc = GetMathGC();
|
||||
break;
|
||||
case gc_math_frame:
|
||||
gc = GetMathFrameGC();
|
||||
break;
|
||||
case gc_fill:
|
||||
gc = GetFillGC();
|
||||
break;
|
||||
case gc_copy:
|
||||
gc = GetCopyGC();
|
||||
break;
|
||||
case gc_select:
|
||||
gc = GetSelectGC();
|
||||
break;
|
||||
case gc_on_off_line:
|
||||
gc = GetOnOffLineGC();
|
||||
break;
|
||||
case gc_thin_on_off_line:
|
||||
gc = GetThinOnOffLineGC();
|
||||
break;
|
||||
case gc_thick_line:
|
||||
gc = GetThickLineGC();
|
||||
break;
|
||||
case gc_lighted:
|
||||
gc = GetLightedGC();
|
||||
break;
|
||||
case gc_selection:
|
||||
gc = GetSelectionGC();
|
||||
break;
|
||||
case gc_minipage:
|
||||
gc = GetMinipageGC();
|
||||
break;
|
||||
case gc_note:
|
||||
gc = GetNoteGC();
|
||||
break;
|
||||
case gc_note_frame:
|
||||
gc = GetNoteFrameGC();
|
||||
break;
|
||||
}
|
||||
return gc;
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
// -*- C++ -*-
|
||||
|
||||
#ifndef LYX_DRAW_H
|
||||
#define LYX_DRAW_H
|
||||
|
||||
#include FORMS_H_LOCATION
|
||||
#include "lyxfont.h"
|
||||
|
||||
///
|
||||
enum gc_type {
|
||||
///
|
||||
gc_clear,
|
||||
///
|
||||
gc_latex,
|
||||
///
|
||||
gc_foot,
|
||||
///
|
||||
gc_new_line,
|
||||
///
|
||||
gc_math,
|
||||
///
|
||||
gc_math_frame,
|
||||
///
|
||||
gc_fill,
|
||||
///
|
||||
gc_copy,
|
||||
///
|
||||
gc_select,
|
||||
///
|
||||
gc_on_off_line,
|
||||
///
|
||||
gc_thin_on_off_line,
|
||||
///
|
||||
gc_thick_line,
|
||||
///
|
||||
gc_lighted,
|
||||
///
|
||||
gc_selection,
|
||||
///
|
||||
gc_minipage,
|
||||
///
|
||||
gc_note,
|
||||
///
|
||||
gc_note_frame
|
||||
};
|
||||
|
||||
///
|
||||
extern GC getGC(gc_type typ);
|
||||
///
|
||||
extern GC GetAccentGC(LyXFont const &f, int line_width);
|
||||
///
|
||||
extern GC GetColorGC(LyXFont::FONT_COLOR color);
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user