Commit Graph

78 Commits

Author SHA1 Message Date
Stephan Witt
f9bff2d9b1 #9130 Text in main work area isn't rendered with high resolution
Add display_pixel_ratio to buffer params to use it for displays with high resolution.
It holds the highest ratio between physical pixels and device-independent pixels of the LyX application.
Preview snippets will be generated using this value to get high resolution preview.
2014-10-18 15:39:58 +02:00
Jean-Marc
93a43742a5 Fix a bunch of small performance issues spotted by cppcheck
Most of these are about passing const strings parameters as references.
2014-07-05 19:13:10 +02:00
Georg Baum
79e79ed548 Make preview filename generation threadsafe
Threadsafety is ensured by the atomic file name generation in TempFile.
2014-07-05 11:19:34 +02:00
Scott Kostyshak
8b66f9cedf Centralize replacement of "$$s"
Now the replacement is done in startScript(). In addition to making
the code cleaner and more consistent, this commit fixes a bug where
"$$s" was not replaced when "latex=" was specified in the extra flags
of a converter.

Note that the temporary fix at 731b8610 is reverted with this commit.
2014-05-14 15:45:20 -04:00
Richard Heck
fdbe775b9f This is the result of an audit of all static variables, looking
for possible thread conflicts, of the sort Georg resolved at
6a30211f. I have made static variables const where possible,
and marked cases that looked potentially problematic with the
comment:
	// FIXME THREAD
Many of these definitely are vulnerable to concurrent access, such
as the static variables declared at the start of output_latex.cpp.
Suppose, e.g., we were outputting latex and also displaying the
source of a different document.

I'd appreciate it if others could grep for "FIXME THREAD" and see
if some of these are harmless, or what.
2014-04-21 11:51:57 -04:00
Juergen Spitzmueller
1ace930f7d Handle is_child runparam in preview (bug #8445) 2013-09-29 14:14:15 +02:00
Vincent van Ravesteijn
6e227f18ae Fix a crash in PreviewLoader for command-line xhtml output
While exporting from the command-line, theApp() doesn't exist.
The colors foreground and background are only needed when
previewing, so ignore this during buffer export.

This replaces the fix in 4285b0b3 (Tommaso Cucinotta, 10-12-2012).
In this case, we do not need to pull in Qt dependencies.
2012-12-15 11:05:55 +01:00
Vincent van Ravesteijn
752f2e4811 Revert "While exporting from the command-line, theApp() doesn't exist."
This reverts commit 4285b0b316.
2012-12-15 11:05:21 +01:00
Tommaso Cucinotta
4285b0b316 While exporting from the command-line, theApp() doesn't exist.
It was only needed for getting hex names of colors. So, get them
directly from a ColorCache object with default mapping.
2012-12-12 19:22:42 +00:00
Juergen Spitzmueller
63612ca99b Restore buffer parenthood if we exit already after the preamble 2012-10-05 19:26:07 +02:00
Juergen Spitzmueller
e6afdf1b2b Prevent the PreviewLoader from orphaning children 2012-10-05 18:28:38 +02:00
Scott Kostyshak
51c380440b Constify some catches and others 2012-09-17 04:05:34 -04:00
Richard Heck
f25e7c340b Improve argument handling for the source generation routines.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40069 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 20:14:48 +00:00
Enrico Forestieri
d703d90574 Fix bug #7835 (Relative paths are not supported by the TEXINPUTS prefix)
This restores \input@path handling, which turns out to be necessary, as
the TEXINPUTS mechanism is not used with relative paths. It turns out
that both methods must be used, because \input@path does not work in all
cases (most notably with tikz).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39918 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-22 15:10:43 +00:00
Julien Rioux
35b580fb30 lyxpreview: Simplify the color handling.
Let's have this in trunk for testing. The real difference maker
when it comes to color is whether we use dvipng or ghostscript.

For dvipng:

  - The color info is passed as command-line arguments.

  - The tightpage option is not necessary, and since it adds
    ps specials to the output, we shouldn't use it.

For ghostscript:

  - The color info needs to be in the latex file.

  - The foreground color is set for each preview inset.

  - The background color is set by \pagecolor in the preamble,
    which is understood by pdflatex, but ignored in dvips mode.
    Thus dvips is handled with a ps special.

  - The tightpage option is necessary to crop the images.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39797 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-03 16:43:33 +00:00
Julien Rioux
13b1277cd2 lyxpreview: Handle bibtex-generated references and bibliography.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39795 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-03 16:35:27 +00:00
Enrico Forestieri
5c17ce4195 Also set TEXINPUTS when launching ForkedCall processes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39742 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-24 01:32:35 +00:00
Julien Rioux
81420e405f Merge the preview mechanism for japanese with the standard one.
- Japanese is now handled by passing the option --latex=platex
    to the standard lyxpreview script. This is done in PreviewLoader.
  - Remove obsoleted file lyxpreview-platex2bitmap.py and the
    corresponding lines in the configure script.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39659 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-11 18:23:15 +00:00
Julien Rioux
10868c31ac Merge the preview mechanism for lilypond-book with the standard one.
- Handle the preprocessing in the main lyxpreview script with the
    command-line arguments --lilypond and --lilypond-book=exe.
  - Remove the obsoleted file lyxpreview-lytex2bitmap.py and the
    corresponding lines in configure.py.

Fix for the japanese preview still to come.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39658 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-11 18:22:59 +00:00
Julien Rioux
2bd747fad4 Add command-line arguments to lyxpreview2bitmap.py
Add command-line arguments in a standard unix fashion, using getopt.

    Usage: ./lyxpreview2bitmap.py <options> <input file>

    Options:
      -h, --help:    Show this help screen and exit
      --dpi=<res>:   Resolution per inch (default: 128)
      --png, --ppm:  Select the output format (default: png)
      --fg=<color>:  Foreground color (default: black, ie '000000')
      --bg=<color>:  Background color (default: white, ie 'ffffff')
      --latex=<exe>: Specify the executable for latex (default: latex)

    The colors are hexadecimal strings, eg 'faf0e6'.

The changes to PreviewLoader.cpp break the preview of lilypond-book
and japanese files, but they will be handled in the next commits.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39657 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-11 18:22:43 +00:00
Enrico Forestieri
7c17e970b1 Fix bug #6170 (Latex Compiler error when lyx file is located in a path which contains a "#")
This removes \input@path handling.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39563 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-29 17:02:27 +00:00
Richard Heck
5db4b7eb16 Move a bunch of code from Buffer to BufferParams. The point of this
is contained in the next commit.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38742 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-13 19:39:56 +00:00
Julien Rioux
adf6faf4d4 revert r37696 and apply a fallback mechanism to pdflatex
when latex fails with a preview. Fixes bug #7303 (IP fails with hyperref).
Patch by Ale with suggestions from Enrico

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38243 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-04 14:33:45 +00:00
Julien Rioux
adc6d258f9 we want XeTeX as the backend for previews when using nonTeXFonts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38160 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-30 13:50:47 +00:00
Julien Rioux
efe93782fe allow proper preview when using literate in combination with nonTeXFonts
(we can't rely on bufferFormat for this)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38147 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-30 00:34:09 +00:00
Jürgen Spitzmüller
c020978d18 * PreviewLoader.cpp:
- use pdflatex route for preview snippet generation if hyperref is used.

This works around a bug in hyperref and/or preview-latex via DVI route (bug #7303).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37696 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-16 16:59:22 +00:00
Enrico Forestieri
c6648aaeb9 Complete integration of texrow with otexstream and allow automatic line
counting also when outputting the latex preamble.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37641 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-13 21:41:44 +00:00
Enrico Forestieri
46cb01a5e0 Fix bug #6720 (Better error handling of instant preview)
Patch from Ale revised by me.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37274 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-20 23:39:08 +00:00
Jürgen Spitzmüller
1899bf04fa * PreviewLoader: add comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36449 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 16:09:05 +00:00
Jürgen Spitzmüller
79514a3fcd PreviewLoader: use bufferFormat() here, even if this also relies on useXetex.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36446 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 13:18:28 +00:00
Pavel Sanda
e7dd1bf9dd Add lilypond-book module and add support for instant preview.
Patch by Julien Rioux.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg162042.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35472 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-21 16:34:30 +00:00
Richard Heck
89a9fc4c5e Implement independent output scaling for math images (and, I suppose,
for any other sort of image for which we produce a preview on export,
e.g., eventually, for InsetExternal).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35032 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 16:38:58 +00:00
Richard Heck
2f78698fbd First step towards fixing some issues noted by Vincent. We record in the
Buffer whether we are exporting or not, rather than rely upon isClone(),
which could be adapted to other purposes. And, of course, someone might
choose locally to disable cloning....


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34999 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 21:51:33 +00:00
Richard Heck
980dfa0f3b Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34997 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 14:28:38 +00:00
Richard Heck
b8d43b05bc Support for exporting math as images with XHTML. The next step is to
allow this as a fallback. E.g., if we're unable to export as MathML,
then we try to export as an image.

There are several ways, I am sure, in which this implementation is not
ideal.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34993 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 13:19:52 +00:00
Richard Heck
6ddefebc09 We do need the encoding here now, due to how InPreamble works.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34679 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-15 18:26:38 +00:00
Peter Kümmel
c9b9748cee msvcUsing "using namespace std" with msvc10 makes also std::tr1::shared_ptr visible and generates conflicts with boost::shared_ptr.
Solution: don't use boost::shared_ptr for msvc10 (could also be extended  to several GCC versions)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34259 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-22 11:37:32 +00:00
Peter Kümmel
61b2bd5e7f Using "using namespace std" with msvc10 makes also std::tr1::bind visible and generates conflicts with boost::bind.
Solution: don't use boost::bind for msvc10 (could also be extended  to several GCC versions)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34257 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-22 11:16:58 +00:00
Richard Heck
c282d14f66 Update comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34064 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-06 00:48:58 +00:00
Jürgen Spitzmüller
c2ef290547 * enable instant preview with XeTeX (requires preview-latex v.11.86) [bug #5577]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33554 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-24 10:47:35 +00:00
Vincent van Ravesteijn
e2d6ecff99 Compute the font_scaling_factor every time a preview is created (we can afford a few multiplications I guess). Now, the newly generated previews use the possibly updated zoom, dpi and preview_scale_factor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32563 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-17 15:25:55 +00:00
Vincent van Ravesteijn
5a530cca94 Do not hardcode the background color of the preview at two places.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32562 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-17 15:21:08 +00:00
Vincent van Ravesteijn
f19b6178a9 Fix bug #4360: Instant preview does not render formulas which contain math-macro from input file.
Patch from Stefan.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32157 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-22 20:50:35 +00:00
Uwe Stöhr
cb71b8a8de GuiPrefs:
- implement an UI to specify the size of InstantPreview images
- change the default size to 1.0 because we've got many complaints that the former default size of 0.9 was too low

Both changes fix #6176.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31425 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-21 00:44:43 +00:00
Jean-Marc Lasgouttes
0778007050 rename [io]docfstream to [io]fdocstream
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27530 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 12:21:29 +00:00
Jean-Marc Lasgouttes
673c2a3ec5 remove obsolete workaround
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27187 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-29 13:42:09 +00:00
Jürgen Spitzmüller
a2906cb877 ** proper implementation of pLaTeX by Tetsuya Makimura and me, fixes many remaining problems and bugs with language "japanese" (bugs 4863, 4290, 4700 and partially 4697) **
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26200 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-18 17:26:09 +00:00
Abdelrazak Younes
aa0a9b8316 Remove unnecessary FileName construction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25996 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-30 06:51:50 +00:00
Jürgen Spitzmüller
01c71419d9 *** Extend preview scripts to also handle PDF output (bug 2165) ***
* src/PreviewLoader.cpp:
	- add conditions for preview with pdf output

* lib/scripts/legacy_lyxpreview2ppm.py:
	- if no dvi preview file is available, check for a PDF file
	  and process that, if found
	- also produce png output, if requested.

* lib/scripts/lyxpreview2bitmap.py:
	- if no dvi preview file is available, check for a PDF file
	  and process that, if found

*  lib/scripts/lyxpreview_tools.py:
	- move some common functions here

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25419 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-02 14:42:04 +00:00
Abdelrazak Younes
20b45450f6 move GuiImage::loadableFormats() to support/imagetools.{h,cpp} and simplify this whole stuff. What a mess!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25161 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-06 11:34:49 +00:00