aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
AgeCommit message (Collapse)AuthorFilesLines
2014-07-18Allow extreme ascenders and descenders to overlap into adjacent lines withNeil1-9/+17
multiple phase drawing option.
2014-07-17Refactored Drawline into separate methods for each aspect of drawing.Neil1-10/+10
Standardised order of arguments to drawing methods.
2014-07-15Implement separate timers for each type of periodic activity and turn them ↵Neil Hodgson1-5/+119
on and off as required. This saves power as there are fewer wake ups. A tolerance value is provided so that platforms that support coalescing timers, Windows 8+ and OS X 10.9+, can use them. The previous global 100 millisecond timer may still be used by non-core platforms.
2014-07-08Split out EditModel, MarginView, and EditView classes into separate files.Neil1-2295/+3
2014-07-08Split parts of Editor class off into EditModel, MarginView, and EditView ↵Neil1-2308/+2369
classes.
2014-07-08Changing further non-virtual methods to const where made possible by previousNeil1-5/+5
change.
2014-07-08Specifying some methods as const as they are used from display and measurementNeil1-4/+5
code that will be changed to have read-only access.
2014-07-07Fix bug where too many characters may be deleted when a rectangular selection isNeil1-0/+1
deleted.
2014-06-26Move decision to draw line end wrap marker and colour of marker to DrawEOL.Neil1-17/+13
Simplifies arguments to DrawEOL and shortens DrawLine.
2014-06-26Simplify DrawStyledText, extracting out DrawTextInStyle for re-use.Neil1-21/+18
2014-06-26Move calculation of line background colour to ViewStyle and represent as aNeil1-53/+16
ColourOptional to tightly bind the value with whether it is set.
2014-06-23Mark DrawBlockCaret as const since it only draws and does not affect Editor.Neil1-1/+1
2014-06-23Use Range type for hotspot to simplify manipulation.Neil1-28/+20
2014-06-22Stop storing a pointer to the selection on LineLayout objects where it may haveNeil1-5/+3
a lifetime that is too long. Instead provide it as an argument to BreakFinder where it is only needed during intialisation.
2014-06-22Further use of const in layout and drawing.Neil1-2/+2
2014-06-22Always use the passed ViewStyle instead of the global one as this can causeNeil1-10/+10
problems when printing.
2014-06-22Drawing and measuring should not change ViewStyle which is set by the containerNeil1-25/+29
so mark ViewStyle parameters as const. Provide a FontAlias copy constructor and use it to work around non-const Font arguments to Surface when sourced from const ViewStyle.
2014-06-16Fix crashes on Ubuntu 12.04 caused by overlay scrolll bar causing the drawingNeil1-0/+7
surface to be finished.
2014-05-24Header include statements are now in a standardised order with that orderNeil1-1/+1
defined in scripts/HeaderOrder.txt.
2014-05-24Removing style byte indicators.Neil1-61/+17
2014-01-20Fix typos in comments (src)Stefan Weil1-4/+4
2014-05-12Split variable into two as used for different reasons. Use unsigned to avoidNeil1-5/+4
possibility of sign extension problems and to minimize type conversions.
2014-05-03Replacing the int-based constructors for Point and PRectangle with FromIntsNeil1-20/+20
static methods as there were too many failures with mixed types and not-quite matching types.
2014-05-03Turn on MSVC 'possible loss of data' warnings and add explicit casts.Neil1-378/+386
2014-05-03Using casts and an alternate PRectangle constructor to make XYPOSITION <-> intNeil1-3/+4
conversions and other conversions more consistent.
2014-05-03Convenience Point constructor from integers as common source of shapes.Neil1-3/+3
2014-05-03Move RoundXYPosition to global header to enable use in more modules.Neil1-4/+0
2014-05-01Consolidate insertion for paste into Editor class and perform line endNeil1-3/+36
conversion in Editor.
2014-04-29Fix some warnings instead of relying upon #pragma to hide themNeil1-1/+1
2014-04-22Bug [#1593]. Fix drawing bug on Cocoa where previous caret lines were visibleNeil Hodgson1-4/+5
due to using the visible area instead of the whole drawing area.
2014-04-22Hoisting some calculations into classes: ContractionState::DisplayLastFromDocNeil Hodgson1-26/+18
Range::First and Range::Last. Changing Editor::RectangleFromRange arguments to a Range. Simplifying code and specifying some local variables as const.
2014-04-21View line state in margin with SC_FOLDFLAG_LINESTATE as an aid to debugging.Neil1-8/+13
2014-04-16Allow filtering of insertions.Neil1-84/+110
2014-04-15Bug [#1592]. Fix bug where caret remained invisible when period set to 0.Neil1-1/+9
2014-03-28Displaying Unicode line ends as [LS], [PS], and [NEL] blobs.Neil1-4/+12
2014-03-27Improve scrolling by performing styling in methods called before drawing ↵Neil Hodgson1-3/+17
instead of inside drawing which then caused the drawing to be abandoned, and black blocks to appear on-screen. Discard responsive scrolling overdraw when that overdrawn content is invalid. Style just the visible area instead of the whole document when styling changes run beyond painting area.
2014-03-26Bug [#1588]. Round caret positions to the pixel grid instead of truncating.Neil1-4/+8
This may move the caret to the right 1 pixel in some situations. While sometimes this appears a little worse, on average it is slightly better than the precious code, with carets appearing inside the previous character less often.
2014-03-25Bug [#1586]. Automatic indentation wrong when caret in virtual space.Neil1-0/+1
2014-03-18Minor tweaks to avoid ststic checking warnings.Neil1-1/+1
2014-02-26Refactor methods for converting screen points to and from document index, ↵Neil1-78/+33
moving code from Editor to LineLayout.
2014-02-02Added wrap mode SC_WRAP_WHITESPACE which only wraps on whitespace, not on ↵Neil1-1/+1
style changes. From Robert Gieseke.
2014-01-21Added ELEMENTS macro and use it to clarify determining size of arrays.Neil Hodgson1-3/+4
2014-01-13Send SCN_UPDATEUI with SC_UPDATE_SELECTION for Shift+Tab inside text.Neil1-0/+1
2013-12-27Ensure caret is visible after scroll.Neil1-2/+2
2013-12-22Avoid unsafe strcpy, strncpy, and strcat replacing with safer functions whichNeil1-41/+26
guaranty termination where possible.
2013-12-17Added DropSelectionN API.Neil1-0/+5
2013-12-15Make single argument constructors explicit to avoid unexpected conversions.Neil1-3/+3
2013-12-15Format normalization - whitespace and braces made consistent.Neil1-8/+8
Parameter names added to method declarations.
2013-12-10Bug [#1562]. Clickable area of hotspots was off by half a character width.Christian Walther1-9/+13
2013-12-03Bug [#1560]. Fix missing second one of adjacent indicators.Christian Walther1-1/+4
When there are two adjacent instances of the same indicator (but with different values), only the first of them was drawn. This is because when attempting to skip the gap between the first and second indicator, Editor::DrawIndicators would skip whatever run was there without checking whether it was actually a gap or already the next indicator.