Commit Graph

56288 Commits

Author SHA1 Message Date
Jean-Philippe Andre 8aeccdb7a1 slider: Advertise indicator part in the EO file
There are 3 other indicator APIs that aren't in the part class... why?
2017-11-07 22:00:43 +09:00
Jean-Philippe Andre 0076f54112 evas: Yet another OSX build fix...
Please tell me this is the last one
2017-11-07 21:53:45 +09:00
Lauro Moura 7ab444acbc example: Add elocation to elm build
Summary:
9d2dcd92 requires elocation to build.

cxx examples still broken due to elm cleanup

Test Plan: make examples

Reviewers: jpeg, felipealmeida

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5426
2017-11-07 21:49:26 +09:00
Sungtaek Hong 439fbe4bcb efl_ui_radio: keep radio state when theme is changed
Summary:
during elm_widget_theme_apply() state was set to off when state is on.
@fix

Test Plan: change locale/theme when a radio is on.

Reviewers: jpeg, cedric, woohyun

Differential Revision: https://phab.enlightenment.org/D5432
2017-11-07 21:08:40 +09:00
Jean-Philippe Andre 12fa8caec5 evas: Another attempt at fixing OSX build
Build failed with LKI not found, as a symbol, but it's a macro.
Copy & pasted from evas_common_private.h
How can this work on one platform and not another? I don't get it...
2017-11-07 20:18:52 +09:00
Bryce Harrington 70f7f88eab eina: Fix spelling errors in documentation (matrixsparse..module)
Reviewers: cedric, ajwillia.ms

Subscribers: segfaultxavi, jpeg

Differential Revision: https://phab.enlightenment.org/D5425
2017-11-07 09:03:57 +00:00
Carsten Haitzler 3790c4d47a eina freeq - make it clear that content is invalid on submission
and that the free function cannot access content of the pointer
(unless the pointer memory size is 0).
2017-11-07 17:36:57 +09:00
Carsten Haitzler eb67a08c8d eo - fix freeq usage to not use freeq for a vtable cleaning
the freeq can't allow things to access the content of the pointer
because the content canbe written over by canary handling qhen
submitted to the freeq. clear it inline then just submit the final
pointer to the freeq.

@fix
2017-11-07 17:36:57 +09:00
Carsten Haitzler 784411800b elm win - note need for other display system code... 2017-11-07 17:36:57 +09:00
Amitesh Singh d6c9b37925 Efl.Ui.Slider: implement Slider.part & Ui.format functions
indicator_format_set/get & indicator_format_function_set are
now legacy APIs.
indicator format can be set by using generic Ui.Format function
e.g.
efl_ui_format_string_set(efl_part(sliderObj, "indicator"), "1.0%f");
2017-11-07 17:13:44 +09:00
Jean-Philippe Andre 80b0ef7537 elm: Fix make check (code_widget)
elm_code_widget is causing a lot of trouble as it's relying on internal
access to elementary, without being built as part of elementary.so. Many
EAPI symbols are exported that shouldn't need to be, as they are only
internals of elm.
2017-11-07 14:59:01 +09:00
Jean-Philippe Andre a438e9382c evas: Fix make check
Because of this I couldn't test my previous patches properly and now
realized that I also broke make check... >_<

See D5419
2017-11-07 14:57:14 +09:00
Jean-Philippe Andre 6ecf3fd6b7 elm: Fix ui.win "bg" test case
elm_colorselector is legacy only (for now, unfortunately).
This means that elm_colorselector_class_get() crashes with weak linking.
Strong linking would make the compilation fail.
2017-11-07 14:52:48 +09:00
Jean-Philippe Andre d39bbc1491 elm: Create legacy widgets with elm_legacy_add
This will be used to solve issues around style_set:
if the widget is legacy or pure eo we may need to select a different
style. So in the constructor we need to know whether we are legacy or
eo. Note that calling style_set in finalize only is too late as we would
lose information such as efl_text_set() called inside efl_add().
2017-11-07 14:50:31 +09:00
Jean-Philippe Andre 6cea4993e0 elm: Don't do anything before construction
Obviously ui.win is still the ugly exception.
2017-11-07 14:43:22 +09:00
Jean-Philippe Andre ee90f72a76 elm: Call efl_access_type_set after construction
I don't think it is necessary to call this before construction, and that
could instead lead to issues. It's just weird overall.
2017-11-07 14:43:22 +09:00
Carsten Haitzler 6a47c2243e efl ui win - make win centering work with multiple screens
this should fix T6323
@fix
2017-11-07 13:53:27 +09:00
Vitalii Vorobiov ee93543799 evas_vg_load_svg: get rid of static Evas_SVG_Parsing
Summary:
Refactoring.
It is good to store values from that struct in a parsing/loading context

static variable is a big NO NO:
1. Ugly code design,
2. Might not work when trying to load more than one SVG file.

@fix

Reviewers: jpeg, smohanty

Subscribers: jenkins, cedric

Differential Revision: https://phab.enlightenment.org/D5399
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 66e0caccb7 evas_vg_load_svg: default stop opacity color should be 255, not 0
@fix
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov d98e2323ad vg_common: property apply "objectBoundingBox" morphings to radial gradient
When objectBoundingBox flag is set up, all gradients should morphed into
multiple gradients for every entity that has gradient to be applied on
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 6bf5d9d96e svg_parse: parse correct values for radialGradient
Especially Radius calculation which was a huge pain to find formula
within SVG documentations!
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov f81f031ceb vg_common: apply related coordinates for linear gradient
multiply it with object size or with view box sizes depending on
gradientUnits value
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 405e56ac55 svg_parse: parse linear gradient variables accroding to gradientUnits
There are difficult cases according to
https://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 6139aa78d5 svg_parse: implement <length> parse
Accodring to https://www.w3.org/TR/SVG/types.html#Length
length ::= number ("em" | "ex" | "px" | "in" | "cm" | "mm" | "pt" | "pc" | "%")
This is still work in progress since some of lengths should be treated
differently, for example gradient lengths
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 1354c1c8ab svg_parse: save global size variable to use when gradient size recalc
For example while userSpaceOnUse it uses not figure's x,y,w,h
but entire canvas, so we need to save it publically and recalc while
parsing (or after)
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov fac649c7f4 vg_common: parse and store userSpaceOnUse (for gradient) when it is set
So it can be calculated during the draw later on
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 73bfd4f04d efl_gfx_path: fix typo in _path_bounds_get
Wrong position was used while going through the array of
points

@fix
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 532557cabd vg_loaders/svg: set up default focal values for radialGradient
Since when not specified, focal values same as center points
fx = cx, fy = cy by default

@fix
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov a44daaa394 ector: use cairo_pattern_add_color_stop_rgba in gradient_radial
It actually invoked SIGSEGV when trying to load SVG file with Radial
Gradient

@fix
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 78bc406640 saver/svg: parse loaded tree data into svg XML file and save it
Just base source code which will parse all structures of svg tree into
xml text to save current vector image into file

@feature
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 7d9c1256a3 vg_savers/svg: empty (for now) module that will save svg in original file
Just as a starter to make a working background that, later on, will go
through Svg_Node's and build a certain source code to be saved in SVG
picture as a file
2017-11-07 11:54:09 +09:00
Vitalii Vorobiov 3f75c92ca9 evas_vg_cache: load svg from any file, not from defined only
so it doesn't only load from eet or edj only
but also from those any extensions who is ACTUALLY eet, but named as,
for example, like, "file_with_svg.dev"

@fix
2017-11-07 11:54:08 +09:00
Jean-Philippe Andre d4a3d2f5de evas: Fix invalid header protector
clang is smart enough to warn about this.
I've mentioned it multiple times...
2017-11-07 11:54:08 +09:00
subhransu mohanty b038d7df25 Remove evas internal dependency from the evas_font module
Summary:
dev branch : devs/subhransu/font

The Final goal is to move the evas_font module to ector so that both ector and evas can reuse the code.
make the api simple so that sam eapi can be used by evas_textblock and ector text.

This is the 1st stage to achive that gola, first remove the evas internal dependancy as much as possible before moving to ector library.

Reviewers: jpeg, raster, herdsman, cedric, id213sin

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5419
2017-11-07 11:34:53 +09:00
Jean-Philippe Andre a75b3dcdfb elm: Try to fix compilation (link) for OSX 2017-11-07 10:43:07 +09:00
Jean-Philippe Andre 066f2c5cb7 evas: Add some crash prevention checks
This could happen if objects still have references while evas is being
shut down (a bad situation).
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre f90b88422c tests: Fix make check for atspi beta APIs
See 5c997b3aaa
Ref D5365
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre c5d618e851 cxx: (Temporary) fix for make check
This fixes the C++ compilation tests.

list<int> is not allowed by eolian anymore, as the semantics were
unclear whether a pointer to int was passed, or if the int was stuffed
inside the list by casting.

ptr(string) is also not allowed as it's a pointer to a pointer type.

Both of the above types are strange when it comes to bindings. While C++
could probably be made to work, it's not clear we could have such types
in other bindings. Those types are in fact likely not so useful, as most
APIs can be designed around those restrictions.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 58527a3dbb cxx: Fix log color in eina_log.hh
Changed from invalid "black" to arbitrary choice of green.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre ccc3efd77d elm: Fix examples/tests using elementary_config
elementary_config.h should not even exist. It's been hijacked as a
private header for elementary, but all "real" configuration is stored in
efl's main config.h now.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 778c5afb3f cxx: Fix some examples, disable or remove others
make examples now builds all c++ examples but some of them are in fact
empty skeletons. Those either need some c++ love or the final eo api to
be ready (eg. menu, popup, ...).

I removed some examples that don't have an exact equivalent in EO since
the widget is legacy only.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 4f98b54915 cxx: Add beta define to Evas.hh
This is probably temporary as well, but it's necessary to make examples
compile (with rectangle).
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 5f5325ea33 cxx: Fix binding temporarily (efl/interfaces)
This uses the new cref keyword instead of inout, as the c++ code has no
access to the internals of struct Efl.Text.Cursor.Cursor

Something tells me cref may not be the perfect solution here (we lose
information on whether this is in, out or inout).
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre c490392ee6 cxx: Fix ifdef protections in function impl
Mote: for protected we should use "protected:" if that is somehow
possible.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 64698daeb5 cxx: Add support for operator == with objects 2017-11-07 09:57:24 +09:00
Jean-Philippe Andre d4c92b39df cxx: Modify button example with wref
This is more of an experiment than anything else.
@felipealmeida I would like to know what you think.

Notes:
 - events still need a better API (event_add isn't part of the object
   definition...).
 - references are an issue, when you want to actually delete an object.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre e7009b77a2 cxx: Add experimental "easy" way to use wref
I hid it behind ifdef for now as I'm very much unsure of what I'm doing.
This whole modern C++ thing is still weird to me :)

Prerequisite:
 #define EFL_CXX_WREF_EASY

This allows constructs such as:

  auto wobj = obj._get_wref();
  std::cout << wobj->text_get() << std::endl;
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 73ec85aeff cxx: Add _get_wref() convenience to all classes
This allows constructs like:

  auto w_obj = obj._get_wref();
  auto cb = std::bind([w_obj]() {
    auto o = w_obj.lock();
    if (!o) return;
    o->call();
  });
  event_add(..., obj, cb);

Note: I don't like how those wref work. Close to c++ wref but far from
EFL wref.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 88e10da36b cxx: Mark wref::lock as const
This allows passing in wref to a lambda.
If we passed normal refs, we would end up with dangling references and
many ERR messages.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 8c991b104c cxx: Add nullptr constructor for weak refs
This allows constructs such as:

  wref_obj = obj;
  ...
  wref_obj = nullptr;
2017-11-07 09:57:24 +09:00