Граф коммитов

281 Коммитов

Автор SHA1 Сообщение Дата
pierre%netscape.com e35773094b Use the system colors to paint the text selection (and added NS_DONT_CHANGE_COLOR to support the Mac selection scheme where colored text keeps its colors when selected). 2000-04-04 09:07:41 +00:00
scc%netscape.com e37740acdb making string conversions explicit 2000-04-03 11:39:09 +00:00
mjudge%netscape.com ad7071118d selecting generated content works now. subtree iterator and all. incredible... added new private method to nsTextFrame to factor out some things on getting correct offsets from generated frames. its a no-op almost for non generated frames 2000-04-02 05:05:31 +00:00
cls%seawood.org adf25840d6 Please use PR_TRUE & PR_FALSE. Not all C++ compilers support the keywords true & false. 2000-03-31 11:09:28 +00:00
mjudge%netscape.com 6ce1fbbb34 changed alot here having to do with get position. made it much faster for non-slow frames. (slow=char spacing ect) also removed some code to make the ::GetWidth call factored out so I can reuse it. selection now has a DrawSelectionIterator that spits out the next series of chars and their color ect when drawing selection. this allows us to combine many different types of selection. This also means that XOR is not used here any more. we will hook up selection colors to style shortly in the next week. 2000-03-31 07:26:07 +00:00
troy%netscape.com 3438f7ea3e Fix for divide by zero I accidently introduced 2000-03-31 05:40:35 +00:00
troy%netscape.com 380605b839 Fix non Win32 compiler bustage 2000-03-31 05:10:36 +00:00
troy%netscape.com fb978dd3bb Changed text measurement code to use the new rendering context function
that measures chunks or words. Because that function is only implemented
on Win32 the code is #ifdef _WIN32
2000-03-31 04:27:43 +00:00
jim_nance%yahoo.com dc0e139673 Bug 33322 - Fix compiler warnings. Its been on n.p.m.builds for a few
days for module owners to comment on.  r=troy@netscape.com
2000-03-30 03:21:26 +00:00
sfraser%netscape.com 80126fb4fa Fixes to nsTextFrame so that every text frame no longer AddRefs the blink timer, and tidyup of blink timer code. r=troy 2000-03-25 00:49:58 +00:00
troy%netscape.com 7007f487f2 Fixed problem with previous checkin. Made sure "mColumn" is set
correctly
2000-03-24 05:04:15 +00:00
troy%netscape.com d44a7da8ab No change in functionality. I factored out the loop that measures text into
member function MeasureIndividualWords()
2000-03-23 22:58:43 +00:00
mjudge%netscape.com ca22489c81 this should have NOT used ABS. if negative there is NO ROUNDING ERROR! ;)r=akkana 2000-03-22 02:10:37 +00:00
pierre%netscape.com 22030d523c 32252 "Small Caps font too small". Changed the ratio for small-caps from 0.7 to 0.8 (same as MacIE5). 2000-03-19 07:47:23 +00:00
pierre%netscape.com 4d43de09aa Fix 32199 (visibility:collapse is not being interpreted as hidden on block and inline level elements) and parts of 21701 (misuse of style attr mVisible). In the following files, replacing disp->mVisible with disp->IsVisible() is a BUG FIX: nsBlockFrame, nsBulletFrame, nsHRFrame, nsHTMLContainerFrame, nsImageFrame, nsTextFrame. In all the other files, replacing disp->mVisible with disp->IsVisible() or disp->IsVisibleOrCollapsed() is merely a SYNTACTICAL CHANGE. The respective owners will later review the use of IsVisibleOrCollapsed() and in some cases replace it with IsVisible(). See bug 21701. 2000-03-17 10:15:13 +00:00
troy%netscape.com dfd7864b4c b=30391 r=troy@netscape.com Patch from rbs@maths.uq.edu.au to add parens when
necessary to PR_ABS macro
2000-03-11 16:50:52 +00:00
buster%netscape.com 66696f0a23 bug 26840 r=mjudge 2000-02-14 01:54:20 +00:00
nisheeth%netscape.com 99f85886b8 r=Troy. We were specifying the incorrect child as a reflow dirty target in some cases. 2000-02-11 07:11:43 +00:00
mjudge%netscape.com 90364fa4e5 fix for memory leak bug 24332 2000-02-10 07:55:34 +00:00
mjudge%netscape.com b3444d6801 fix for bug 18528. fixing tabs controls in selection guessing. 2000-02-10 07:48:17 +00:00
ftang%netscape.com 2928361af0 r=nhotta, fix 24451. Change the IME hightlight code so
it won't draw out the clip boundary. It now draw by different color
instead of different hight.
2000-02-02 23:39:25 +00:00
pp%ludusdesign.com 58065dda04 Converting ::GetIID() into NS_GET_IID(). Bug #20232. r=scc, r=mozbot 2000-02-02 22:24:56 +00:00
troy%netscape.com 8a78d916a5 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.
2000-01-22 01:16:50 +00:00
michael.lowe%bigfoot.com 6696fa133b Repeating, prioritised timer implementation for Windows and Gtk (bug 22979). author={Win32=michael.lowe@bigfoot.com, Gtk=alex@cendio.se}, r={kmcclusk,rods,sfraser,et al} a=brendan 2000-01-21 21:56:09 +00:00
nisheeth%netscape.com 1af2ec200b r=troy. Changed block, inline, and text frames to call the parent's ReflowDirtyChild() method instead of generating reflow commands. 2000-01-19 03:58:05 +00:00
rbs%maths.uq.edu.au 401406c143 [MATHML] Change of the character coordinate system of the bounding metrics 2000-01-17 07:34:24 +00:00
mjudge%netscape.com 118e690267 small changes for 22752 ctrl left and right. r=cmanske 2000-01-12 21:39:36 +00:00
mjudge%netscape.com 3ec359f588 bug 15982 r=cmanske. needed more places to add checks for style turning off normal selection. 2000-01-11 19:44:59 +00:00
mjudge%netscape.com dcbf3266bd r= kin. fix for another parameter. fixing m13 bug with multiple selection. 2000-01-08 00:31:32 +00:00
rbs%maths.uq.edu.au fb509ee983 [MATHML] Added code to enable Reflow() to return, if requested, the bounding metrics needed for precise MathML placements. This is a WIP approved by Troy. 2000-01-07 14:33:11 +00:00
sspitzer%netscape.com bfc18b87ab initialize some variables, fix a comment, fix a FMM 1999-12-22 00:41:38 +00:00
rginda%netscape.com 34a05a535b Adding check for null document. Prevents crash described in bug 20677.
r=brendan@mozilla.org
1999-12-07 22:04:52 +00:00
hyatt%netscape.com de2eaede42 Implementing a generalized recycler and arena for all layout frames. Hoping to improve
bug #9489.  Should also definitely fix bug #15916. r=troy
1999-12-04 23:49:50 +00:00
ftang%netscape.com 6773500b62 fix bug 18398. Make sure the startOffset and textWidth get reset in the while loop 1999-11-30 22:16:12 +00:00
tbogard%aol.net af1ce8d410 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +00:00
mjudge%netscape.com d1b5f823f1 Fixing mac issue with selection dragging not working when above or below single line text. aka URL. mac has a different preference now. this may be done with look and feel object later. hyatt,cmanske(19191) 1999-11-24 01:10:22 +00:00
mjudge%netscape.com d7fbad6cea small fixes for BR frames getting correct offset. also one case of textframe not returning proper location (simply a missed change of a regressed call in PeekOffset) nsCaret was also too stringent on the limitation of text frames as the only frames to get the caret position. these were reviewed by a few people and i just dont remember. r=simon,cmanske,akkana and hyatt? 1999-11-23 20:30:21 +00:00
dmose%mozilla.org 5312eacf8c updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
kipp%netscape.com ca39ca7b10 r=vidur; bug=17372; found a case where a trailing shy character on a line would trigger an infinite loop iff the shy character was the only piece of text after a text frame had been continued 1999-11-04 19:34:36 +00:00
kipp%netscape.com c93281e841 r=troy; fixed bugs 2636 and 17636 - line layout issues for some more edge cases (nobr's with floaters in them) and handling of nbsp 1999-11-02 15:44:57 +00:00
troy%netscape.com 1585a751fb Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
kipp%netscape.com 80998e8d8c r=ftang (someday); fixed bug 17130 - the problem was that nbsp's were being mapped into spaces by the text-transformer which is normally good, but for the purposes of line-breaking look-ahead was bad. I added code to revert the post-transformed spaces into nbsp's before using the line-breaker 1999-11-01 15:36:02 +00:00
kin%netscape.com 74852c1b92 Fix for bug #16176: [DOGFOOD] need to annotate line frames with whitespace trim
layout/base/src/nsCaret.cpp
        - Modified DrawCaretWithContext so that we only
          adjust the caret position if we are within the
          frame's bounds.

    layout/html/base/src/nsTextFrame.cpp
        - Modified GetPointFromOffset() to add the width
          of a space if the offset is after a trailing space
          and it was trimmed off the frame.

r=sfraser@netscape.com
1999-10-29 13:43:11 +00:00
troy%netscape.com 87afecabc0 Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
ftang%netscape.com 0b2a09b76d fix not enough gap between IME selection problem. r=erik 1999-10-25 22:18:41 +00:00
troy%netscape.com 29963d8875 Changed nsTextFrame to be derived from nsFrame instead of nsSplittableFrame.
nsTextFrame now has only a next-in-flow pointer and no prev-in-flow pointer.
Subclass nsContinuingTextFrame is used for continuing text frames; it has a
prev-in-flow pointer. This saves 4 bytes
1999-10-23 23:19:14 +00:00
mjudge%netscape.com 7d0e807931 massive checkin for underlying implementation of key handling from javascript and home/end breakage and.. selecting around NON-text frames. like arrowing around an image for example. 16636,16655 and another i cannot find. r=kin r=hyatt a=me 1999-10-22 00:19:18 +00:00
ftang%netscape.com e1475842c4 change the input method highligh code from 2 style to 4 styles. r=mjudge 1999-10-21 22:01:18 +00:00
kipp%netscape.com 584976d119 r=troy; Optimize append text reflows to only reflow the new part of the text 1999-10-21 20:46:05 +00:00
kipp%netscape.com a03246a1e0 update to new nsTextTransformer api 1999-10-19 23:01:58 +00:00
kipp%netscape.com 15a0ec26fa r=troy; revised nsITextContent api to simplify it and the consumers; this is done as prep work for bug 9101 1999-10-15 23:36:07 +00:00
mjudge%netscape.com fc71fb36d1 bugs 15547,15645,13665,13277,5761, r=akkana,kin,hyatt. fixing selection bugs, keyboard navigation, triple clicking and drag scrolling. 1999-10-13 01:15:26 +00:00
kipp%netscape.com 02b64f135d r=kin,troy; Fixed reflow bug with optimization logic to avoid measuring text (no bug #) 1999-10-12 23:29:01 +00:00
troy%netscape.com 0d79fa2c78 Fix for blocker #15839. r=kipp@netscape.com,kin@netscape.com
Typing into a text area wasn't working properly. Problem was that when the text
changed we were reflowing the text frames with a resize reflow command and
we thought we could optimize the reflow. So I changed ContentChanged() to
mark each text frame dirty so we would know not to do the optimization
1999-10-08 22:04:31 +00:00
mjudge%netscape.com 54829b853b fixing optimizations for table selection as well as making sure all flags are turned on/off for text frames when one frame is selected.. 1999-09-29 20:36:00 +00:00
kin%netscape.com ca92ac282c First pass implementation of selection auto scrolling.
layout/base/public/nsIFrame.h
        - Added GetContentAndOffsetsFromPoint() method. This
          method will eventually replace GetPosition().

    layout/base/public/nsIFrameSelection.h
        - Added HandleDrag() and Start/StopAutoScrollTimer() methods.

    layout/base/src/nsRangeList.cpp
        - Added implementation for HandleDrag() and
          Start/StopAutoScrollTimer() methods.

    layout/html/base/src/nsBRFrame.cpp
        - Added implementation for GetContentAndOffsetsFromPoint().

    layout/html/base/src/nsFrame.cpp
    layout/html/base/src/nsFrame.h
        - Added implementation for GetContentAndOffsetsFromPoint().
        - Added GetClosestViewForFrame() utility method.
        - Modified HandleEvent() to call HandleRelease() which now
          stops the auto scrolling timers.
        - Modified HandleDrag() to call nsIFrameSelection's HandleDrag()
          and Start/StopAutoScrollTimer() methods.

    layout/html/base/src/nsTextFrame.cpp
        - Added implementation for GetContentAndOffsetsFromPoint().
1999-09-29 20:04:05 +00:00
mjudge%netscape.com 2c78141fa6 fixes for M11 a=shaver r=cmanske. this will add 1 enumerator value to en enum in nsIFrame so dont be scared. this is for tweaking selection should not affect anyone outside of selection/editor 1999-09-25 23:33:02 +00:00
mjudge%netscape.com e989c3be45 tweaked word left and word right again. got double click working on edge cases! yeah 1999-09-22 07:09:41 +00:00
mjudge%netscape.com 99dadf07b9 approved by Dagley. fixes for CTRL_LEFT and CTRL_RIGHT navigation and wrapping 1999-09-22 05:56:44 +00:00
mjudge%netscape.com 88c407b158 fixes for line/frame traversal. now we use more common code inside nsFrame rather than nsTextFrame specific code all the time. 1999-09-22 04:12:23 +00:00
kipp%netscape.com 574daaa6d8 Whoops, left some noise on 1999-09-22 00:41:13 +00:00
kipp%netscape.com 5a777fb9ed Fixed various bugs including part of 14486 and 14427; cleaned up the usage of stack based buffers to avoid future issues 1999-09-22 00:40:56 +00:00
mjudge%netscape.com 1e48363fd7 changes to selection code to stop a never ending loop 1999-09-21 22:58:14 +00:00
kipp%netscape.com 22df009a37 Bring TrimTrailingWhiteSpace back to life after troy's changes 1999-09-21 00:12:50 +00:00
mjudge%netscape.com 3c9065ac80 checking in fixes for selection around nodes where get primary frame will not lead to the discovery of all frames 1999-09-20 21:47:37 +00:00
troy%netscape.com f004ab4be8 Optimized Reflow() some more. In the case where we're not measuring text but
we need to peek ahead and so we need to know the length of the last word, if
there's only one word in the text run then we can avoid measuring
1999-09-19 04:42:54 +00:00
troy%netscape.com 0d253cf419 Backed out some changes that aren't needed and were fixed with a change
to the frame construction code
1999-09-19 00:59:38 +00:00
troy%netscape.com a3551f363b Optimized reflow to skip measuring of the text for a resize reflow (when
possible)
1999-09-18 16:22:34 +00:00
alecf%netscape.com 8bc490a93b fix a bunch of null-derefing problems when accessing http://webmail.netscape.com/ and add some assertions when these things happen 1999-09-18 01:00:43 +00:00
alecf%netscape.com d4a731ec92 fix dereferencing error on slashdot.org 1999-09-18 00:48:51 +00:00
kipp%netscape.com 2652daef33 Fixed a glitch in word-breaking look ahead that was using the wrong content to compute the next fragments width (whoops!) 1999-09-17 23:14:47 +00:00
troy%netscape.com a5d89af219 Minor changes to reduce the amount of unnecessary ref counting and speed
things up a little
1999-09-16 23:31:59 +00:00
mjudge%netscape.com d71f4104da changes for bug fixes for dogfood. finding frames left and right should find the correct frame and not give up so easily. nsTextFrame needed to change getpositionslowly. 1999-09-15 01:57:50 +00:00
mjudge%netscape.com 611e47bbd4 content iter not initing properly for reuse. text frame not selecting slowly properly, bad bounds checking :(. rangelist now traversing each node in a spaniter with a normal iter to make SURE we get all the children! 1999-09-14 23:16:22 +00:00
mjudge%netscape.com e2d1d73278 fixes for selection. up/down arrow behavior and also extending selection. all should be in peek offset ect. Also adding in a slight change to the hack (which should go away soon) that will stop the editor from scrolling when up/down left/right ect are clicked. when key events go in this code will be removed 1999-09-13 22:19:31 +00:00
mjudge%netscape.com eaa78b424a fixes for crasher in tree 1999-09-11 00:18:02 +00:00
mjudge%netscape.com 046cdcb844 changes for peekoffset removal of extra parameters. also fixing some ownership issues with nsIenumerator and the rangelist iterator. fixing also some hit tests for line frames. 1999-09-10 18:29:37 +00:00
mjudge%netscape.com a5ac5b186c adding in begin line and end line enums for selection movement. this allows peeking to the start and end of and like given a content offset for any frame. 1999-09-07 23:40:17 +00:00
ftang%netscape.com 31de89ab0f fix bug 13063 12881 1999-09-03 22:46:16 +00:00
mjudge%netscape.com fa5d3c3459 new selection code for dead areas. this is much better, trust me. the block frame now will look at its best line and look for a spot to select. if it finds another block frame now, it will continue the process in a while loop. each time looking for best x and y area. this reuses the code located in GetNextPrevLine. 1999-09-01 21:40:16 +00:00
kipp%netscape.com 7fe2679e86 Updated SizeOf methods to not waste space when doing a non-debug build 1999-09-01 01:02:16 +00:00
kipp%netscape.com f808fbb193 Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot 1999-08-31 03:09:40 +00:00
mjudge%netscape.com 5531d305c5 changes to allow selection in "dead" space between frames. still need work on "outside" and not in the window at all, but this is a very good chunk of the issue and it will solve many many bugs on my place. good for dogfood as well :) 1999-08-24 21:51:47 +00:00
ftang%netscape.com 5a577f62d9 implement word jump for non Ascii 1999-08-19 06:06:57 +00:00
ftang%netscape.com b71a536920 tune performance by elimate unnecessary reference to nsIWordBreaker in nsTexTransformer. Add NS_PRECONDITION code into nsTextTransformer to make code better 1999-08-10 07:23:56 +00:00
sfraser%netscape.com 0166147f3c Optimization so that moving a collapsed selection does not cause the frame to redraw. 1999-08-09 19:15:04 +00:00
ftang%netscape.com 67c7d1e316 fix bug 4240,5532,5529,7899 pass in current word buffer to ComputeWordWidth functions so we have the whole text that we can pass to line breaker. 1999-07-27 14:47:24 +00:00
brade%netscape.com 0621f4050e Implement InvertRect on Mac. r sfraser 1999-07-20 23:38:55 +00:00
ramiro%netscape.com 12f5c30340 Adding support for XOR selection. Updated nsIRenderingContext interface
to support InvertRect() for the XOR-ing of rectangles.  Makes selection
work as expected on windows and unix as opposed to the rectangle hack.
Stubs added for all other platforms.
1999-07-20 07:26:09 +00:00
troy%netscape.com c3e32b0b65 Added 'm' prefix to a couple more data members of nsHTMLReflowState struct 1999-07-20 03:51:46 +00:00
mjudge%netscape.com c0b1525970 massive checkin for selection. adjusting nsIDOMSelection api and nsIFrameSelection. many "small" changes. this is not as bad as it looks. layout will not be affected other than "getter" calls for selection. and all consumers of selection should be in good shape. 1999-07-18 02:27:19 +00:00
sfraser%netscape.com 14f2e71bab Don't cast a char* to a PRUnichar* array when calling PaintTextDecorations. 1999-07-15 23:11:35 +00:00
mjudge%netscape.com f447570414 checkin for carpool for multiple seleciton/ime selection and api changes to nsIDOMselection 1999-07-15 18:19:03 +00:00
kipp%netscape.com 23518e9968 Removed compiler warnings 1999-07-14 17:30:22 +00:00
troy%netscape.com 84cc1d3e34 Changed Reflow() to invalidate bounds for an incremental reflow 1999-07-14 15:20:01 +00:00
kipp%netscape.com 457c3003fb Fixed bug 6574 - the problem was that the current color was being reset when the text decoration, in this case an underline, was being drawn so that the next chunk of text rendered in the smallcaps font was drawn in the wrong color 1999-07-08 19:52:57 +00:00
mjudge%netscape.com f98938bdfd up/down selection BRFrames dont allow selecting upon them for now. horizontal bars are now drawn selected. ect. 1999-06-19 20:36:44 +00:00
sfraser%netscape.com 99112db1a1 Fix for bug 8317 -- leaked caret causes crash. r mjudge, a leaf. 1999-06-16 23:55:48 +00:00
mjudge%netscape.com 24d312aeba minor changes to tweak fix from before. GetPositionSlowly was returning wrong thing causing small caps and other wierd spacing letters to be selected incorrectly. 1999-06-10 21:55:14 +00:00
mjudge%netscape.com 225111bf33 fixing table selection again. also adding parameter to nsIFocusTracker that allows us to get the current caret location. I am also stopping nsTableRowFrame from putting blue border around itself since cells are a high enough granularity. made a change to nsIFrame GetPosition to remove some useless parameters ect. this caused me to change nsDOMEvent.cpp and some other places.
MJ
1999-06-10 21:08:17 +00:00