/usr/include/scribus/hruler.h is in scribus 1.4.0.dfsg+r17300-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /*
For general Scribus (>=1.3.2) copyright and licensing information please refer
to the COPYING file provided with the program. Following this notice may exist
a copyright and/or license notice that predates the release of Scribus 1.3.2
for which a new license (GPL+exception) is in place.
*/
/***************************************************************************
hruler.h - description
-------------------
begin : Tue Apr 10 2001
copyright : (C) 2001 by Franz Schmid
email : Franz.Schmid@altmuehlnet.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef HRULER_H
#define HRULER_H
#include <QWidget>
#include "scribusapi.h"
#include "styles/paragraphstyle.h"
class PageItem;
class QPaintEvent;
class QMouseEvent;
class PrefsManager;
class RulerGesture;
class ScribusView;
class ScribusDoc;
class ScribusMainWindow;
/** \brief Horizontal ruler
\author Franz Schmid
*/
class SCRIBUS_API Hruler : public QWidget
{
Q_OBJECT
public:
Hruler(ScribusView *pa, ScribusDoc *doc);
~Hruler() {};
private:
bool textEditMode;
double ColGap;
double lineCorr;
int Cols;
double RExtra;
double Extra;
double Indent;
double First;
double RMargin;
bool Revers;
QList<ParagraphStyle::TabRecord> TabValues;
PageItem * currItem;
double ItemPos;
double ItemEndPos;
double offs;
public:
double ruleSpacing();
void setItem(PageItem * item);
void textMode(bool state) { textEditMode = state; }
double textBase() const; // left text edge in canvas coord
double textWidth() const;
double textPosToCanvas(double x) const;
int textPosToLocal(double x) const;
double localToTextPos(int x) const;
void shift(double pos); // using canvas coord
void shiftRel(double dist); // using canvas coord
double offset() const { return offs; }
private:
int findRulerHandle(QPoint mp, double grabRadius);
virtual void paintEvent(QPaintEvent *e);
virtual void mousePressEvent(QMouseEvent *m);
virtual void mouseReleaseEvent(QMouseEvent *);
virtual void mouseMoveEvent(QMouseEvent *m);
virtual void enterEvent(QEvent *m);
virtual void leaveEvent(QEvent *m);
void drawMarks(QPainter& p);
void drawTextMarks(double pos, double endPos, QPainter& p);
void drawMarker(QPainter& p);
void drawNumber(QString num, int startx, int starty, QPainter & p);
void UpdateTabList();
int Markp;
int oldMark;
bool Mpressed;
int ActCol;
int ActTab;
double Scaling;
int RulerCode;
int MouseX;
ScribusDoc *currDoc;
ScribusView *currView;
public slots: // Public slots
/** \brief draw mark
\param where where to draw */
void Draw(int where);
void unitChange();
signals:
void DocChanged(bool);
void MarkerMoved(double base, double xp);
private:
double iter, iter2;
double cor;
int whereToDraw;
bool drawMark;
PrefsManager *prefsManager;
RulerGesture* rulerGesture;
};
#endif
|