Commit Graph

528 Commits

Author SHA1 Message Date
Tom Hacohen d632d526c0 Split logical layouting and visual layouting completely. There are still some bugs, but this includes the major change.
SVN revision: 56492
2011-01-30 10:40:30 +00:00
Tom Hacohen 48c9b3781e Evas font-engine: A couple of major fixes:
1. Worked around a fribid behavior that broke some stuff - we should handle it better in the future, this workaround is only temporary.
2. Fixed a bug with textblock's last_up_to_pos.
3. Fixed a bug with ot_shaping not reloading the font and activating the size in the wrong place.

SVN revision: 56491
2011-01-30 10:40:21 +00:00
Tom Hacohen 91456d3198 Evas textblock: Started splitting the layouting to two stages, logical item creating and visual ordering of the items. This will let us to cache the logical items and just relayout the visual items when needed thus making everything a lot faster.
SVN revision: 56490
2011-01-30 10:40:14 +00:00
Tom Hacohen 50ed367970 Evas textblock: Fixed line coords to be relative to the paragraphs coords and not standalone like they were.
SVN revision: 56489
2011-01-30 10:40:09 +00:00
Tom Hacohen 6f24144e55 Evas textblock: Update layout paragraph coordinates and use them to speed some parts up.
SVN revision: 56488
2011-01-30 10:40:04 +00:00
Tom Hacohen adeabde88e Evas textblock: Use layout paragraphs for faster item locating.
SVN revision: 56487
2011-01-30 10:39:58 +00:00
Tom Hacohen a3698f39a4 Evas textblock: started using the paragraph layout items a bit more so it's a bit faster now. Fixed a bug in calculating the line number. Paragraph layout items now point to the original paragraphs.
SVN revision: 56486
2011-01-30 10:39:52 +00:00
Tom Hacohen 908a6d16b0 Evas textblock: Started using the layout paragraphs. Still not using their coords or using them for optimizations.
SVN revision: 56485
2011-01-30 10:39:47 +00:00
Tom Hacohen b8635d16ea Evas textblock: Started using advancement for wrapping.
SVN revision: 56481
2011-01-30 10:39:22 +00:00
Tom Hacohen 3185db9667 Evas language utils: fixed evas_common_language_script_end_of_run_get and adjusted text and textblock object to use it.
SVN revision: 56478
2011-01-30 10:39:03 +00:00
Tom Hacohen fa49914387 Evas textblock: Migrated part of add and split item to _layout_text_append to improve performance.
SVN revision: 56474
2011-01-30 10:38:39 +00:00
Tom Hacohen f1d77279cd Revert "Evas textblock: Shape a lot less when splitting to items because of script/bidi direction."
Was broken.

This reverts commit d2bc8fd8b516a640c3eb098071a80d751494024a.

SVN revision: 56471
2011-01-30 10:38:22 +00:00
Tom Hacohen 9f0ce7a272 Evas textblock + font engine: add an optimized way of doing a cut-off on the text props.
SVN revision: 56470
2011-01-30 10:38:15 +00:00
Tom Hacohen 5125ddb692 Evas textblock: Shape a lot less when splitting to items because of script/bidi direction.
SVN revision: 56468
2011-01-30 10:38:02 +00:00
Tom Hacohen aa830a11ca Evas textblock: removed an un-needed shaping that speeds up things a bit.
SVN revision: 56467
2011-01-30 10:37:57 +00:00
Tom Hacohen ff18fa8399 Evas: Multiple changes that all relate to the Harfbuzz integration:
1. Started feeding Evas_Text_Props to the font engine instead of Evas_BiDi_Props because no we have more general text properties as well - i.e, OpenType stuff.
2. Full Harfbuzz integration which gets compiled in by default (if harfbuzz is present) but only works if the environment variable EVAS_USE_OT is set to 1 (because OT is way slower than regular text rendering).
3. Cleaned the font querying/drawing functions.
4. Added font_shaped function to all of the engines, which by default calls teh harfbuzz stuff (default on linux that is).
5. Moved some source files around a bit to make more sense.

SVN revision: 56455
2011-01-30 10:36:39 +00:00
Tom Hacohen ea97422d84 Evas textblock: Start cutting to sections if bidi is not enabled.
SVN revision: 56451
2011-01-30 10:36:08 +00:00
Tom Hacohen e7b2a13aa1 Evas text: Wrote item layouting and splitting of items to script runs, this is essential for correct shaping/bidi handling.
SVN revision: 56450
2011-01-30 10:36:02 +00:00
Tom Hacohen de1549fa25 Evas textblock: Fixed an issue with range_geometry_get.
SVN revision: 56449
2011-01-30 10:35:56 +00:00
Tom Hacohen cf083720b6 Evas textblock: Fixed a small invalid read.
SVN revision: 56448
2011-01-30 10:35:50 +00:00
Tom Hacohen e7ca8b9294 Evas textblock: Fixed misuse of evas_bidi_is_rtl_char.
SVN revision: 56447
2011-01-30 10:35:44 +00:00
Tom Hacohen 7e376019b7 Evas font-engine: Moved bidi utils (and added script utils) to a subdir language that collects all the language specific adjustments to font handling.
SVN revision: 56446
2011-01-30 10:35:37 +00:00
Tom Hacohen 05050572ad Evas textblock: It's ok to have an empty item when there are no nodes. - Fixed a seg.
SVN revision: 56445
2011-01-30 10:35:30 +00:00
Tom Hacohen 99a7eff130 Evas bidi + font-engine + everything affected: Changed Evas_BiDi_Props to only include the direction of the text and reverse when needed. We don't need to do full processing at this stage, because we should have split to bidi runs before.
SVN revision: 56443
2011-01-30 10:35:17 +00:00
Tom Hacohen b1d9298e81 Evas bidi: Fixed the BiDi functions to accept paragraph props and not bidi props.
SVN revision: 56441
2011-01-30 10:35:04 +00:00
Tom Hacohen a089d061b8 Evas textblock: Fixed docs and naming of vars in the function header.
SVN revision: 56436
2011-01-30 10:34:29 +00:00
Tom Hacohen ce97927d9a Evas textblock: Fixed usage of width instead of advance which caused issues in some cases.
SVN revision: 56435
2011-01-30 10:34:23 +00:00
Tom Hacohen b6363c7657 Evas textblock: Use pen position for cursors, selections and etc as this is exactly what pen is for.
SVN revision: 56434
2011-01-30 10:34:18 +00:00
Tom Hacohen 35847d3c88 Evas textblock: Added evas_textblock_cursor_pen_geometry_get.
SVN revision: 56433
2011-01-30 10:34:13 +00:00
Tom Hacohen 8d56aef16a Evas textblock: Advancement within a line should be according to advance size, and not width.
SVN revision: 56430
2011-01-30 10:33:50 +00:00
Tom Hacohen 74b26fec2e Evas textblock: Removed the adjusting according to inset from textblock as it happens in font_draw/query.
SVN revision: 56428
2011-01-30 10:33:37 +00:00
Tom Hacohen 30c9492e8b Evas textblock: Added advancement to items. This simplifies the code, fixes issues in selection and may be useful in the future with format items with different advancement and width.
SVN revision: 56425
2011-01-30 10:33:19 +00:00
Tom Hacohen b9c4dbb744 Evas textblock: Fixed geometry get for formats as well.
SVN revision: 56423
2011-01-30 10:33:06 +00:00
Tom Hacohen 82a7ee8ee0 Evas textblock: Added bidi properties to the shared info between format and text items because both are bidi-relevant.
SVN revision: 56422
2011-01-30 10:33:01 +00:00
Tom Hacohen 3c6c735b83 Evas textblock: Fixed a typo and explanation in a comment.
SVN revision: 56421
2011-01-30 10:32:55 +00:00
Tom Hacohen 4aaa8df5fe Evas textblock: Fixed a couple of cases where a geometry of a visible format item would have been returned although it shouldn't have.
SVN revision: 56420
2011-01-30 10:32:50 +00:00
Tom Hacohen 81616cec5d Evas textblock and font engine: Fixed cursor position to be at the end of the current item, and not the end of the line, this looks nicer in bidi strings.
Fixed querying char coords to return the current position of the NULL according to the text's alignment, not the paragraph's.

SVN revision: 56419
2011-01-30 10:32:45 +00:00
Tom Hacohen ab1a4f0a77 Evas textblock: Fixed selection drawing with multiline mixed ltr/rtl.
SVN revision: 56418
2011-01-30 10:32:39 +00:00
Tom Hacohen 82d4acc36a Evas textblock: Fixed a couple of issues with range_geometry_get (a seg if the textblock is empty and drawing glitches).
SVN revision: 56417
2011-01-30 10:32:33 +00:00
Tom Hacohen 06957098c6 Evas textblock: Fixed range geometry get in some cases involving rtl.
SVN revision: 56416
2011-01-30 10:32:27 +00:00
Tom Hacohen 9f36a734b2 Evas textblock: Made selection rtl friendly. There are still minor issues with rectangle positioning (1px off sometimes) but this is better than before.
SVN revision: 56415
2011-01-30 10:32:15 +00:00
Tom Hacohen 62840fe30b Evas textblock: Fixed evas_textblock_cursor_geometry_get with the cursor type: EVAS_TEXTBLOCK_CURSOR_BEFORE.
SVN revision: 56414
2011-01-30 10:32:09 +00:00
Tom Hacohen c6c3ab41e8 Evas textblock: Merged drawing backgrounds, strikethroughs and underlines into one shared format.
SVN revision: 56413
2011-01-30 10:32:03 +00:00
Tom Hacohen 664478cc55 Evas textblock: Since we now track text pos for format items as well as text items, we can (and did) merge _find_layout_item_line_match and _find_layout_format_item_line_match and obsolete the latter.
SVN revision: 56412
2011-01-30 10:31:58 +00:00
Tom Hacohen aa6849b76e Evas textblock: Shape per string and not per item. I.e shaping across wrapping will also work now.
SVN revision: 56411
2011-01-30 10:31:51 +00:00
Tom Hacohen 53123a7445 Evas textblock: Added a segfault fix in case (shouldn't happen) it isn't found.
SVN revision: 56410
2011-01-30 10:31:45 +00:00
Tom Hacohen 4dede084eb Evas textblock: Adjusted some local macros a bit so they'll enforce our wanted usage of ';'.
SVN revision: 56409
2011-01-30 10:31:40 +00:00
Tom Hacohen 9ffa06fbf6 Evas textblock: Adjusted text drawing a bit, a fix to the previous commit.
SVN revision: 56408
2011-01-30 10:31:33 +00:00
Tom Hacohen f1230b5f36 Evas textblock: Fixed text drawing (with all of it's features, including background, underlines and etc.). Also simplified it a bit.
SVN revision: 56407
2011-01-30 10:31:28 +00:00
Tom Hacohen 4dd2bd2a33 Evas textblock: created _find_layout_item_match that finds the wanted item and line for both texts and formats and with some special case handling.
Essentially combined code that was just copied around.

SVN revision: 56406
2011-01-30 10:31:22 +00:00
Tom Hacohen 52b44130d9 Evas textblock: format items and text items are now in the same list and share a lot of info.
SVN revision: 56405
2011-01-30 10:31:16 +00:00
Tom Hacohen a92826ae5e Evas textblock: Fixed mixed format and text item reordering.
SVN revision: 56404
2011-01-30 10:31:08 +00:00
Tom Hacohen 80b71b0a05 Evas textblock: fixed in issue with the return value of evas_textblock_cursor_char_next which wasn't always correct.
SVN revision: 56295
2011-01-25 02:56:14 +00:00
Carsten Haitzler 6411ac9cb2 lines never used.
SVN revision: 56176
2011-01-16 06:20:26 +00:00
Tom Hacohen 65d7539dca Evas textblock: Fix dead code issues: if (unsigned < 0) and the like.
SVN revision: 56106
2011-01-14 08:47:32 +00:00
Mike Blumenkrantz b2e46be157 prevent macro null derefs
SVN revision: 56102
2011-01-14 06:46:04 +00:00
Mike Blumenkrantz fe45654e16 x = x
SVN revision: 56101
2011-01-14 06:36:36 +00:00
Mike Blumenkrantz 447d2c91dc avoid possible null deref
SVN revision: 56097
2011-01-14 06:27:10 +00:00
Mike Blumenkrantz 4dd3d0d441 another dead store
SVN revision: 56095
2011-01-14 06:16:50 +00:00
Tom Hacohen 1e99ccd5f9 Evas textblock: Fixed a memory leak when removing format nodes.
SVN revision: 56058
2011-01-12 15:27:53 +00:00
Tom Hacohen 2fd2aaf151 Evas textblock: Fixed cursor pos set to work correctly in case the character being pointed at is the last character in the last paragraph. Also prevented a bug that may happen with an empty paragraph. Thanks to Mr. Myungjae Lee.
SVN revision: 56020
2011-01-10 07:23:31 +00:00
Tom Hacohen 1557b40d76 Evas textblock: Fixed evas_textblock_cursor_pos_set's handling with out of bound positions.
SVN revision: 55757
2010-12-26 12:01:21 +00:00
Tom Hacohen 6481adfb2b Evas textblock: Fixed cursor_pos_get/set to be absolute, and not node specific like they were.
SVN revision: 55738
2010-12-23 12:47:23 +00:00
Carsten Haitzler 60458017fb warning--
SVN revision: 55543
2010-12-14 03:11:03 +00:00
Vincent Torri 4594a53cd1 declare variables at the beginning of the block
SVN revision: 55491
2010-12-11 09:00:13 +00:00
Tom Hacohen 47da7ff122 Evas textblock: Fixed a major bug in last_at_off.
SVN revision: 55375
2010-12-08 15:41:21 +00:00
Tom Hacohen 92c16f8892 Evas textblock: Fixed a bug with inserting text before a <PS>.
SVN revision: 55064
2010-11-29 15:04:44 +00:00
Carsten Haitzler c75b63a482 evas -> use mempool for many objects and things. but.. disable it for
now. use old calloc+free thing for 1.0 and enable mpool for 1.1. this
is just done in advance but disabled for some testing purposes looking
for some bugs.



SVN revision: 55006
2010-11-26 10:01:18 +00:00
Tom Hacohen f575ca46b6 Evas textblock: Fixed range_delete to not move the main cursor if it's not inside the deleted range.
SVN revision: 54320
2010-11-08 07:46:43 +00:00
Tom Hacohen ed649440b8 Evas textblock: Fixed docs. Patch by Jihoon Kim.
SVN revision: 53650
2010-10-20 10:30:02 +00:00
Tom Hacohen 8d0492fcfd Evas textblock + font engine: Don't take inset into account when not needed.
SVN revision: 53353
2010-10-13 13:33:59 +00:00
Tom Hacohen 94839799fd Evas textblock: Removed duplicated if.
SVN revision: 53108
2010-10-06 18:26:29 +00:00
Tom Hacohen 9dc6cd0c51 Evas textblock: Fixed a type in remove_pair that caused issues with offset adjustment of formats.
SVN revision: 53092
2010-10-06 08:45:10 +00:00
Tom Hacohen eddca25d99 Evas textblock: Fix bug with removing formats, format removal should stop at 'end' non-inclusive, just like text removal works.
SVN revision: 53068
2010-10-05 16:17:04 +00:00
Tom Hacohen 0896d2b013 Evas textblock: Fixed a bug with deleting range when the first char is a visible format.
SVN revision: 53067
2010-10-05 16:17:01 +00:00
Tom Hacohen dd9dc0e4ec Evas textblock: In continuation to the previous commit: range get should also work up until the char, not including.
SVN revision: 53054
2010-10-05 10:50:58 +00:00
Tom Hacohen 6b4743aa40 Evas textblock: Selection should work from the start cursor up to before the end cursor, i.e it should *not* include the end cursor.
SVN revision: 53053
2010-10-05 10:44:40 +00:00
Tom Hacohen 331db4a378 Evas textblock: Added a small comment about where to find textblock style usage example.
SVN revision: 53001
2010-10-03 16:42:56 +00:00
Carsten Haitzler fa813fb8f2 size_t -> int.
really - i prefer it and if we hit the 2gb limit of a signed int for
bytes added to a textblock... thats the day we will need evas 2 :)



SVN revision: 52576
2010-09-22 10:58:44 +00:00
Tom Hacohen 2d3b0200af Evas textblock: merged changes.
SVN revision: 52544
2010-09-21 15:39:26 +00:00
Tom Hacohen ae51c0e16f Evas textblock: Fixed deleting the last visual format in a row of visual formats, for example in '<b>ab</b><tab>cd' the tab wouldn't have gotten erased correctly.
SVN revision: 52540
2010-09-21 13:05:30 +00:00
Tom Hacohen 5ba2cc9c6b Evas textblock: Removed the usuned type field from the textblock item.
SVN revision: 52489
2010-09-20 14:14:52 +00:00
Tom Hacohen b98670ab36 Evas textblock: Updated docs.
SVN revision: 52488
2010-09-20 13:04:37 +00:00
Tom Hacohen 1f8553de01 Evas textblock: Fixed the mixed usage of a replacement char (e.g * on password textblocks) with formats.
SVN revision: 52485
2010-09-20 10:06:01 +00:00
Tom Hacohen e8c10dbce7 Evas textblock: Added evas_textblock_node_format_remove_pair to remove formats.
SVN revision: 52484
2010-09-20 09:44:48 +00:00
Carsten Haitzler 649509a9c2 warning--
SVN revision: 52438
2010-09-19 01:33:51 +00:00
Tom Hacohen 12b55be8af Evas textblock: Added a lot of fixes to evas_textblock_cursor_geometry_get in the case where ctype = EVAS_TEXTBLOCK_CURSOR_BEFORE
SVN revision: 52341
2010-09-16 09:59:39 +00:00
Tom Hacohen 9fb94f209b Evas textblock: Fixed evas_textblock_range_text_get that didn't work on textblocks with no formats at all (not even newlines or tabs).
SVN revision: 52339
2010-09-16 07:12:23 +00:00
Tom Hacohen 612b3eda81 Evas textblock: fix deleting the first tab in 'a<TAB><TAB>a' that caused weird behavior.
The solution is that we only delete invisible standalones now, not visible ones, this is correct intuitively and of course fixes the bug.

SVN revision: 52302
2010-09-15 14:07:09 +00:00
Tom Hacohen b59743febd Evas textblock: we should also take width of tabs into account when calculating line width.
SVN revision: 52297
2010-09-15 12:45:06 +00:00
Tom Hacohen 8b6083ec26 Evas textblock: Fix and simplify _find_layout_item_line_match which is an helper function used in many parts of textblock.
SVN revision: 52295
2010-09-15 10:24:07 +00:00
Tom Hacohen 78deeca6ba Evas textblock: Fixed the bug with disappearing text with many tabs and text.
I removed a function that caused the issue and made no sense at all, honestly, it didn't make any sense.
I did a lot of testing trying to see if there are any new bugs after the fix, and nothing, so I guess my instincts were correct.
Please if you can, check out the removed function (_layout_walk_back_to_item_word_redo) and see if it makes any sense to you, if it does, please let me know.

SVN revision: 52243
2010-09-14 13:57:26 +00:00
Tom Hacohen 471d682228 Evas textblock: Fixed paragraph char last.
SVN revision: 51985
2010-09-08 10:22:38 +00:00
Tom Hacohen bcc518ed97 Evas textblock: Should not clean the props of the item.
SVN revision: 51984
2010-09-08 10:00:47 +00:00
Tom Hacohen b267a0a03a Evas textblock: Fixed a typo.
SVN revision: 51981
2010-09-08 07:54:00 +00:00
Tom Hacohen 4c716af06a Evas textblock: cursor_geometry_get now also returns the direction of the cursor: rtl/ltr/whatever.
Fixed documentation a bit.

SVN revision: 51979
2010-09-08 07:28:16 +00:00
Lucas De Marchi 85815e306c Fix common misspellings
Following misspellings were fixed:

accomodate->accommodate
achive->achieve
beacuse->because
caluclate->calculate
cant->can't
carefull->careful
convertion->conversion
dependancy->dependency
dependant->dependent
doesnt->doesn't
existant->existent
extention->extension
fucntion->function
impliment->implement
inital->initial
lenght->length
occured->occurred
occuring->occurring
onyl->only
positon->position
possibilty->possibility
postion->position
proccessing->processing
proccess->process
propogate->propagate
recieve->receive
sucessive->successive
teh->the
ther->there
throught->through
thsi->this
wasnt->wasn't
whcih->which
wheras->whereas




SVN revision: 51965
2010-09-08 03:51:24 +00:00
Tom Hacohen b3982e535d Evas textblock: Update bidi props also when merging nodes and when deleting formats.
SVN revision: 51922
2010-09-06 12:19:17 +00:00
Tom Hacohen 2d1d631b48 Evas textblock: Added evas_textblock_cursor_content_get.
SVN revision: 51898
2010-09-05 08:28:58 +00:00
Tom Hacohen cc250013be Evas textblock: Fixed documentation typos. Patch by Jihoon Kim.
SVN revision: 51896
2010-09-05 07:04:59 +00:00
Tom Hacohen 76d197bf6b Evas textblock: Fixed char coord set to work better.
SVN revision: 51842
2010-09-02 13:53:14 +00:00
Tom Hacohen 8b88b84c9f Evas textblock: width should remain the same no matter what's the position, removed that unwanted adjustment.
SVN revision: 51838
2010-09-02 12:01:23 +00:00
Tom Hacohen e8c59bf0e8 Evas textblock+font engine: Implemented evas_textblock_cursor_geometry_get.
Fixed evas_common_font_char_coords to work correctly with the NULL character in RTL text.

SVN revision: 51834
2010-09-02 11:49:00 +00:00
Tom Hacohen 4554c06a70 Evas textblock: Fixed compilation without fribidi. <-- For real now. :P
SVN revision: 51809
2010-09-01 14:26:55 +00:00
Tom Hacohen 97b766773b Evas textblock: Fixed compilation without fribidi.
SVN revision: 51808
2010-09-01 14:08:23 +00:00
Tom Hacohen 5e433f1956 Evas bidi: Changed the design a bit so it'll be easy to implement async-rendering with it.
Fixed a couple of issues with unwanted cleans and generally data corruption.
Cleaned up async-rendering.

SVN revision: 51806
2010-09-01 13:15:04 +00:00
Tom Hacohen e6304cafaf Evas textblock: Fixed updating BiDi properties when we delete.
SVN revision: 51801
2010-09-01 08:25:19 +00:00
Tom Hacohen c128fa4d80 Evas textblock: Fixed @intrenal -> @internal in some docs.
SVN revision: 51746
2010-08-30 11:27:39 +00:00
Tom Hacohen 58319c5715 Evas textblock: fixed breakages of paragraph direction when merging/splitting text nodes.
SVN revision: 51723
2010-08-29 12:16:32 +00:00
Tom Hacohen d4c2078f8d Evas textblock: Fixed 'up' and 'down' when pointing to the end of the last line when it ends with a visible format.
SVN revision: 51717
2010-08-29 09:19:04 +00:00
Tom Hacohen 649ad7a890 Evas textblock: Fixed 'Home' and 'End' in the last line when it ends with a visible format.
SVN revision: 51716
2010-08-29 09:13:48 +00:00
Tom Hacohen 71490cad70 Evas textblock: Fixed segfault when clearing a textblock and then trying to delete while it's empty. And fixed cursor position in cases when there's a visible format after a \n
SVN revision: 51709
2010-08-29 08:27:13 +00:00
Tom Hacohen 2ab7f0f809 Evas textblock: Fixed ignoring of unicode object replacement char.
SVN revision: 51658
2010-08-26 13:04:13 +00:00
Tom Hacohen 07f7a9bd88 Evas textblock: Fixed tab causing weird spacing and unwanted linewraps.
SVN revision: 51655
2010-08-26 11:14:03 +00:00
Tom Hacohen ee3b20d11a Evas textblock: Fixed a bit of formatting.
SVN revision: 51653
2010-08-26 09:22:31 +00:00
Tom Hacohen 9a5dba89eb Evas textblock: Paired formats (e.g <b> and </b>) are now only deleted if they point to the same place. This makes everything nice and clean.
SVN revision: 51646
2010-08-25 14:37:52 +00:00
Tom Hacohen 735487e18e Evas textblock: simplified descent calculation.
SVN revision: 51516
2010-08-22 12:26:40 +00:00
Tom Hacohen 818c1dbf64 Evas textblock: fixed most of the cases on which a cursor was not drawn correctly.
SVN revision: 51515
2010-08-22 11:00:45 +00:00
Lucas De Marchi 5a8a8c9014 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Tom Hacohen 7967a59ef8 Evas textblock: Fixed range_text_get, no works when selecting text from multiple paragraphs.
SVN revision: 51392
2010-08-19 14:07:45 +00:00
Tom Hacohen 75a676f945 Evas textblock: Improved the docs of the size get functions. It should now be clear exactly what they are about.
SVN revision: 51385
2010-08-19 07:46:32 +00:00
Christopher Michael 76bc67ea7c Initialize var to Zero (remove compiler warning).
Remove Whitespace in cs_server.



SVN revision: 51283
2010-08-18 15:27:37 +00:00
Tom Hacohen f9db3d6b84 Evas textblock: Fixed range_delete with multiple paragraphs + cursor position after deletion.
Switched int -> size_t in a couple of places I forgot.
Fixed all of gcc's warnings when compiling with -Wextra.

SVN revision: 51278
2010-08-18 13:56:34 +00:00
Tom Hacohen 71f8122aab Evas textblock: Fixed range_delete.
SVN revision: 51275
2010-08-18 12:29:20 +00:00
Tom Hacohen 35f14c47e2 Evas textblock: render should be allowed to be passed an object with no paragraphs, but should just return and do nothing.
SVN revision: 51263
2010-08-17 17:55:48 +00:00
Tom Hacohen a0c3f2a405 Evas textblock: Added comment about styles in the docs.
SVN revision: 51209
2010-08-16 12:56:01 +00:00
Tom Hacohen 2f68e9299e Evas: Fixed many compilation warnings.
1. Fixed evas_common_encoding_utf8 functions to get char * instead of unsigned char * and return Eina_Unicode instead of int.
2. Removed a couple of unused variables.
3. Removed deprecated evas_common_font_utf8* functions.

SVN revision: 51200
2010-08-16 10:46:56 +00:00
Tom Hacohen 1a979c596c Evas textblock: Fix the inefficent ways used to get string length. No need to get length twice and strbuf has a very fast function to getting length, no need to get the string and the calc it's length.
SVN revision: 51182
2010-08-16 09:44:50 +00:00
Tom Hacohen 9a1e0eecda Evas textblock: Fixed evas_textblock_cursor_paragraph_text_get to return markup.
SVN revision: 51181
2010-08-16 09:40:01 +00:00
Tom Hacohen 128e61649d Evas textblock: removed two unwanted fixmes.
SVN revision: 51178
2010-08-16 09:18:09 +00:00
Tom Hacohen 424b7ed6b7 Evas textblock: Another fix to 'range_get' fixes the text getting and not just the mishandling of formats.
SVN revision: 51176
2010-08-16 09:08:01 +00:00
Tom Hacohen 9ed2feb59e Evas textblock: Fixed a bug with getting text in range.
SVN revision: 51170
2010-08-16 08:52:18 +00:00
Tom Hacohen 5d3fc4a03e Evas textblock: Use the unicode object replacement char, not the regular replacement char.
Drop the object replacement char if passed as text.

SVN revision: 51168
2010-08-16 08:36:08 +00:00
Tom Hacohen 0f184462d1 Evas textblock: Updated usage documentation.
SVN revision: 51166
2010-08-16 08:22:18 +00:00
Tom Hacohen 25d7564726 Evas textblock: Fixed the bug with going up/down lines when the cursor points to an <item>.
With this fix I also fixed a couple of potential bugs with cursor geometry in places with mixed visible+invisible formatting.

SVN revision: 51133
2010-08-15 16:04:34 +00:00
Tom Hacohen 660a7b8ee4 Evas bidi: Added defines for bidi paragraph types (instead of using the fribidi defines).
SVN revision: 51131
2010-08-15 14:36:20 +00:00
Tom Hacohen b2b95df2be Evas: Removed deprecated 'lines' from Evas_Object_Textblock.
SVN revision: 51129
2010-08-15 09:10:15 +00:00
Tom Hacohen 3686e9d295 Evas textblock: Remove an unused function.
SVN revision: 51127
2010-08-15 08:59:39 +00:00
Tom Hacohen 2c2a0cb928 Evas textblock: Free paragraphs as well as lines.
Fixes a small memory leak.

SVN revision: 51126
2010-08-15 08:17:21 +00:00
Tom Hacohen 2ecda40ecd Evas textblock: Fixed cursor sizes in rare situations, for example the text from expedite textblock_basic test and point the 'c' in COLOR you would get a badly shaped cursor.
SVN revision: 51050
2010-08-12 15:49:43 +00:00
Tom Hacohen 86adc683d0 Evas: Textblock fixed formating.
SVN revision: 51045
2010-08-12 15:04:47 +00:00
Tom Hacohen 5cc418c333 Evas: Textblock - Fixed a couple of segs/invalid memory access.
SVN revision: 51044
2010-08-12 14:59:42 +00:00
Tom Hacohen d8fadf706b Evas: Each paragraph has at least one layout item in order to mark it's existence.
SVN revision: 51039
2010-08-12 14:20:19 +00:00
Tom Hacohen 3ec81c0b3e Evas: textblock - made _format_fill faster.
SVN revision: 51032
2010-08-12 09:35:53 +00:00
Tom Hacohen eda4539c2c Evas: textblock - Made _format_param_parse sane and cleaner and fixed compilation warnings about unused functions.
SVN revision: 51031
2010-08-12 09:31:43 +00:00
Tom Hacohen fd04d4c5d3 Evas: fixed textblock compiler warnings.
SVN revision: 51029
2010-08-12 07:02:30 +00:00
Tom Hacohen d408865797 Evas: textblock - fixed arabic shaping and fixed an issue with persistant paragraph direction (regarding RTL).
SVN revision: 50996
2010-08-11 13:03:24 +00:00
Tom Hacohen af31abca35 Evas: Improved evas_textblock_cursor_range_text_get to return markup text instead of plain text.
SVN revision: 50992
2010-08-11 12:29:20 +00:00
Tom Hacohen 41ebc486dc Evas: Textblock - Sanitized format init and shutdown.
SVN revision: 50991
2010-08-11 11:20:10 +00:00
Tom Hacohen af1dc88234 Evas: Cursor updates is now done in one function and it's updated correctly everywhere.
SVN revision: 50990
2010-08-11 10:27:44 +00:00